 strarr.length; k < len && p < to; ++k) {
										p += strarr[k].length;
										// Move the index i to the element in strarr that is closest to from
										if (from >= p) {
											++i;
											pos = p;
										}
									}

									/*
									 * If strarr[i] is a Token, then the match starts inside another Token, which is invalid
									 * If strarr[k - 1] is greedy we are in conflict with another greedy pattern
									 */
									if (strarr[i] instanceof Token || strarr[k - 1].greed