`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.
* @param a first value to compare, returned if less than or equal to b.
   * @param b second value to compare.
   * @throws ClassCastException if the parameters are not <i>mutually comparable</i>.
   * @since NEXT
   */
  @Beta
  public static <T extends Comparable<? super T>> T min(T a, T b) {
    return (a.compareTo(b) <= 0) ? a : b;
  }
  /**
   * Returns the minimum of the two values, according to the given comparator. If the values compare
   * as equal, the first is returned.
   *
   * <p>To find the minimum of more than two values, use {@code Collections.min(Arrays.asList(a, b,
   * c), comparator)} (static imports recommended).
   *
   * @param a first value to compare, returned if less than or equal to b
   * @param b second value to compare.
   * @throws ClassCastException if the parameters are not <i>mutually comparable</i> using the given
   *     comparator.
   * @since NEXT
   */
  @Beta
  public static <T> T min(@Nullable T a, @Nullable T b, Comparator<T> comparator) {
    return (comparator.compare(a, b) <= 0) ? a : b;
  }
  /**
   * Returns the maximum of the two values. If the values compare as 0, the first is returned.
   *
   * <p>To find the maximum of more than two values, use {@code Collections.max(Arrays.asList(a, b,