guava/src/com/google/common/collect/ForwardingCollection.java
protected boolean standardRemove(@Nullable Object object) {
    Iterator<E> iterator = iterator();
    while (iterator.hasNext()) {
      if (Objects.equal(iterator.next(), object)) {
        iterator.remove();
        return true;
      }
    }
    return false;
  }
protected boolean standardRemove(@Nullable Object object) {
    Iterator<E> iterator = iterator();
    while (iterator.hasNext()) {
      if (Objects.equal(iterator.next(), object)) {
        iterator.remove();
        return true;
      }
    }
    return false;
  }
A sensible definition of {@link #remove} in terms of {@link #iterator}, using the iterator's
{@code remove} method. If you override {@link #iterator}, you may wish to override {@link
#remove} to forward to this implementation.

@since 7.0