intersection method
Implementation
IntervalTree intersection(IntervalTree other) {
final result = IntervalTree();
if (isEmpty || other.isEmpty) result;
for (final iv in other) {
var it = _tree.fromIterator(iv);
while (it.movePrevious() && iv.intersects(it.current)) {
result.add(iv.intersection(it.current));
}
it = _tree.fromIterator(iv, inclusive: false);
while (it.moveNext() && iv.intersects(it.current)) {
result.add(iv.intersection(it.current));
}
}
return result;
}