in model/src/main/java/jetbrains/jetpad/model/composite/CompositesWithBounds.java [94:115]
ViewT lowerFocusable(ViewT v, int xOffset) {
ViewT current = Composites.nextFocusable(v);
ViewT bestMatch = null;
while (current != null) {
if (bestMatch != null && isBelow(current, bestMatch)) {
break;
}
if (bestMatch != null) {
if (distanceTo(bestMatch, xOffset) > distanceTo(current, xOffset)) {
bestMatch = current;
}
} else if (isBelow(current, v)) {
bestMatch = current;
}
current = Composites.nextFocusable(current);
}
return bestMatch;
}