505
let resultLen = 0;
506
while (node !== SENTINEL) {
508
>
// going up from this node
509
>
setNodeIsVisited(node.left, false);
510
>
setNodeIsVisited(node.right, false);
511
>
if (node === node.parent.right) {
512
delta -= node.parent.delta;
513
}
515
>
continue;
516
>
}
517
>
518
>
if (!getNodeIsVisited(node.left)) {
519
>
// first time seeing this node
520
>
nodeMaxEnd = delta + node.maxEnd;
521
>
if (nodeMaxEnd < start) {
522
// cover case b) from above
523
// there is no need to search this node or its children