code: private boolean canBeMerged(DenseRange<T> current, DenseRange<T> next) {
          return Order.of(comparator, current.end(), Optional.of(next.begin())) == Order.EQ || current.overlaps(next);
      }
docs: <code>
  |-----------|
  |-----|
  </code> or
  <code>
  |-----------|
  |------|
  </code>
  
  @param current the current range
  @param next the next range
  @return true if the two ranges can be merged