}
@Override
public Iterator<Resource> apply(Iterator<Resource> input) {
Iterator<Resource> iterator = applyHierarchyOperator(input);
iterator = new FilteringIteratorWrapper(iterator, getFilter());
for (SelectorFunction f : functions) {
iterator = IteratorFactory.getIterator(f.function(strategy), iterator);
}
return iterator;
}