`UnmodifiableMultimap.forEach` uses the `Multimap.forEach` default implementation which involves listing entries, and creating a new lambda instead of simply passing the BiConsumer through to the protected instance. This is safe to pass directly though because `forEach(BiConsumer)` is a read-only operation.
if (values == null) {
        return 0;
      }
      int oldCount = values.size();
      if (occurrences >= oldCount) {
        values.clear();
      } else {
        Iterator<V> iterator = values.iterator();
        for (int i = 0; i < occurrences; i++) {
          iterator.next();
          iterator.remove();
        }
      }
      return oldCount;
    }
    @Override
    public void clear() {
      multimap.clear();
    }
    @Override
    public Set<K> elementSet() {
      return multimap.keySet();
    }
    @Override
    Iterator<K> elementIterator() {
      throw new AssertionError("should never be called");
    }
  }
  
  abstract static class Entries<K, V> extends AbstractCollection<Map.Entry<K, V>> {