Is there a reason the parameter name for ForwardingMap.remove(Object object) does not match the interface: Map.remove(Object key)?  In short: 'object' != 'key'
If yes, please kindly explain the history.
Else, can we rename to 'key' to match the interface?
ubToAdd = rangeBelowUB.upperBound;
      }
    }
    
    rangesByLowerBound.subMap(lbToAdd, ubToAdd).clear();
    replaceRangeWithSameLowerBound(Range.create(lbToAdd, ubToAdd));
  }
  @Override
  public void remove(Range<C> rangeToRemove) {
    checkNotNull(rangeToRemove);
    if (rangeToRemove.isEmpty()) {
      return;
    }
    
    
    Entry<Cut<C>, Range<C>> entryBelowLB = rangesByLowerBound.lowerEntry(rangeToRemove.lowerBound);
    if (entryBelowLB != null) {
      
      Range<C> rangeBelowLB = entryBelowLB.getValue();
      if (rangeBelowLB.upperBound.compareTo(rangeToRemove.lowerBound) >= 0) {
        
        if (rangeToRemove.hasUpperBound()
            && rangeBelowLB.upperBound.compareTo(rangeToRemove.upperBound) >= 0) {
          
          replaceRangeWithSameLowerBound(
              Range.create(rangeToRemove.upperBound, rangeBelowLB.upperBound));
        }
        replaceRangeWithSameLowerBound(
            Range.create(rangeBelowLB.lowerBound, rangeToRemove.lowerBound));