static GazelleTree gazelle_searchTree_breadthFirst_backwards(F1 pred, L nodes) { new LinkedList queue; addAllReversed(queue, nodes); while (nempty(queue)) { GazelleTree t = popFirst(queue); if (checkCondition(pred, t)) ret t; if (t.isSplitNode) addAllReversed(queue, t.children); else addAll(queue, t.children); } null; }