/** * Internals of findWithContinuation implementation which allows control over functor filtering. */ private ExtendedIterator<Triple> findWithContinuation( TriplePattern pattern, Finder continuation, boolean filter) { checkOpen(); if (!isPrepared) prepare(); ExtendedIterator<Triple> result = null; if (fdata == null) { result = fdeductions.findWithContinuation(pattern, continuation); } else { if (continuation == null) { result = fdata.findWithContinuation(pattern, fdeductions); } else { result = fdata.findWithContinuation(pattern, FinderUtil.cascade(fdeductions, continuation)); } } if (filter && filterFunctors) { return result.filterDrop(Functor.acceptFilter); } else { return result; } }