boolean () { List<Supplier<? extends T>> intervals = currentNode.intervals; while (indexInCurrentList < intervals.size()) { T t = intervals.get(indexInCurrentList).get(); indexInCurrentList++; if (t != null) { current = t; return true; } } indexInCurrentList = 0; return false; }