- final var lower = ranges.floor(range);
- if (lower != null && Long.compareUnsigned(lower.upperBits + 1, range.lowerBits) >= 0) {
- expandLower(ranges, lower, range.upperBits);
- return;
+ final var headIt = ranges.headSet(range, true).descendingIterator();
+ final boolean hasFloor = headIt.hasNext();
+ if (hasFloor) {
+ final var floor = headIt.next();
+ if (Long.compareUnsigned(floor.upperBits, range.upperBits) < 0
+ && Long.compareUnsigned(floor.upperBits + 1, range.lowerBits) >= 0) {
+ headIt.remove();
+ ranges.add(expandFloor(ranges, floor, range.upperBits));
+ return;
+ }