`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.
static class IncomparableValueException extends ClassCastException {
    final Object value;
    IncomparableValueException(Object value) {
      super("Cannot compare value: " + value);
      this.value = value;
    }
    private static final long serialVersionUID = 0;
  }
  
  static final int LEFT_IS_GREATER = 1;
  static final int RIGHT_IS_GREATER = -1;
}