private static Triangle find(Triangle curr, Point p) { if (p == null) return null; Triangle nextT; if (curr.isHalfplane()) { nextT = findnext2(p, curr); if (nextT == null || nextT.isHalfplane()) return curr; curr = nextT; } while (true) { nextT = findnext1(p, curr); if (nextT == null) return curr; if (nextT.isHalfplane()) return nextT; curr = nextT; } }