in model/src/main/java/jetbrains/jetpad/model/composite/Composites.java [124:137]
CompositeT nextLeaf(CompositeT c, CompositeT within) {
CompositeT current = c;
while (true) {
CompositeT nextSibling = current.nextSibling();
if (nextSibling != null) {
return firstLeaf(nextSibling);
}
if (isNonCompositeChild(current)) return null;
CompositeT parent = current.getParent();
if (parent == within) return null;
current = parent;
}
}