}
int endBookmark = source.getBookmark();
for (ElementList pipeTo : pipeToElements) {
Source pipeToSource = source.newSource(bookmark, endBookmark);
match = pipeTo.parse(level, pipeToSource, parentNot, caseSensitive, receive);
if (!match) {
source.setBestIndex(bestIndex);
return false;
}
if (!pipeToSource.reachedEnd()) {
int bestToIndex = pipeToSource.getBestIndex();
if (bestToIndex >= 0 && bestToIndex > bestIndex) {
source.setBestIndex(bestToIndex);
}
return false;
}