T () { if (myTop != null) { if (!(myTop instanceof ServiceNode) || ((ServiceNode)myTop).isChildrenInitialized() || ((ServiceNode)myTop).isLoaded()) { Iterable<? extends T> iterable = tree.fun(myTop); if (iterable != null) { JBIterable.from(iterable).map(ourNotNullizer::notNullize).addAllTo(myQueue); } } myTop = null; } if (myQueue.isEmpty()) { return stop(); } myTop = ourNotNullizer.nullize(myQueue.remove()); return myTop; }