T () { if (top != null) { for (T t : top.iterable(tree)) { if (paths.containsKey(t)) continue; queue.add(ourNotNullizer.notNullize(t)); paths.put(t, top.node); } top = null; } if (queue.isEmpty()) return stop(); top = P1.create(ourNotNullizer.nullize(queue.remove())); return top.node; }