@Override
public Iterator<Resource> apply(Resource resource) {
switch (strategy) {
case BFS:
return new BfsTreeIterator(resource);
case JCR:
return new JcrTreeIterator(preFilteringSelector, resource);
case DFS:
default:
return new DfsTreeIterator(resource);