private Node findNode(Node node, AminoPoint pt) { if (!node.isVisible()) return null; if (node.contains(pt)) return node; if (node instanceof Parent) { Parent parent = (Parent) node; if (parent.hasChildren()) { AminoPoint nc = parent.convertToChildCoords(pt); for (int i = parent.childCount() - 1; i >= 0; i--) { Node n2 = findNode(parent.getChild(i), nc); // u.p("Found " + n2); if (n2 != null) { return n2; } } } } return null; }