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?
protected Collection<Range<C>> delegate() {
      return delegate;
    }
    @Override
    public int hashCode() {
      return Sets.hashCodeImpl(this);
    }
    @Override
    public boolean equals(@Nullable Object o) {
      return Sets.equalsImpl(this, o);
    }
  }
  @Override
  public @Nullable Range<C> rangeContaining(C value) {
    checkNotNull(value);
    Entry<Cut<C>, Range<C>> floorEntry = rangesByLowerBound.floorEntry(Cut.belowValue(value));
    if (floorEntry != null && floorEntry.getValue().contains(value)) {
      return floorEntry.getValue();
    } else {
      
      return null;
    }
  }
  @Override
  public boolean intersects(Range<C> range) {
    checkNotNull(range);
    Entry<Cut<C>, Range<C>> ceilingEntry = rangesByLowerBound.ceilingEntry(range.lowerBound);
    if (ceilingEntry != null
        && ceilingEntry.getValue().isConnected(range)
        && !ceilingEntry.getValue().intersection(range).isEmpty()) {