boolean () { if (current != null) return true; if (currentNode == null) return false; if (getModCount() != modCountBefore) throw new ConcurrentModificationException(); if (nextInterval()) { return true; } while (true) { currentNode = nextNode(currentNode); if (currentNode == null) { return false; } if (overlaps(currentNode, rangeInterval, deltaUpToRootExclusive)) { assert currentNode.intervalStart() + deltaUpToRootExclusive + currentNode.delta >= firstOverlapStart; indexInCurrentList = 0; if (nextInterval()) { return true; } } } }