in src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrResourceProvider.java [384:406]
public Iterator<Resource> listChildren(@NotNull ResolveContext<JcrProviderState> ctx, @NotNull Resource parent) {
JcrItemResource<?> parentItemResource;
// short cut for known JCR resources
if (parent instanceof JcrItemResource) {
parentItemResource = (JcrItemResource<?>) parent;
} else {
// try to get the JcrItemResource for the parent path to list
// children
try {
parentItemResource = getResourceFactory(ctx).createResource(
parent.getResourceResolver(), parent.getPath(), null,
parent.getResourceMetadata().getParameterMap());
} catch (RepositoryException re) {
throw new SlingException("Can't list children", re);
}
}
// return children if there is a parent item resource, else null
return (parentItemResource != null)
? parentItemResource.listJcrChildren()
: null;
}