in model/src/main/java/jetbrains/jetpad/model/composite/CompositesWithBounds.java [70:91]
ViewT upperFocusable(ViewT v, int xOffset) {
ViewT current = Composites.prevFocusable(v);
ViewT bestMatch = null;
while (current != null) {
if (bestMatch != null && isAbove(current, bestMatch)) {
break;
}
if (bestMatch != null) {
if (distanceTo(bestMatch, xOffset) > distanceTo(current, xOffset)) {
bestMatch = current;
}
} else if (isAbove(current, v)) {
bestMatch = current;
}
current = Composites.prevFocusable(current);
}
return bestMatch;
}