in src/main/java/org/apache/sling/query/impl/iterator/SiblingsIterator.java [69:89]
private ListIterator<T> getRewindedIterator(T resource, Type type) {
String resourceName = provider.getName(resource);
T parent = provider.getParent(resource);
Iterator<T> iterator;
if (parent == null) {
iterator = IteratorUtils.singleElementIterator(resource);
} else {
iterator = provider.listChildren(parent);
}
ListIterator<T> listIterator = new LazyList<T>(iterator).listIterator();
while (listIterator.hasNext()) {
T sibling = listIterator.next();
if (provider.getName(sibling).equals(resourceName)) {
break;
}
}
if (type == Type.PREV) {
listIterator.previous();
}
return listIterator;
}