int (@NotNull IntervalNode<T> i1, int delta1, @NotNull IntervalNode<T> i2, int delta2, @NotNull List<? super IntervalNode<T>> invalid) { if (!i2.hasAliveKey(false)) { invalid.add(i2); //gced } int start1 = i1.intervalStart() + delta1; int start2 = i2.intervalStart() + delta2; if (start1 != start2) return start1 - start2; return compareEqualStartIntervals(i1, i2); }