`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.
comparator = Comparators.emptiesFirst(naturalOrder());
  }
  public void testEmptiesLast() {
    Optional<String> empty = Optional.empty();
    Optional<String> abc = Optional.of("abc");
    Optional<String> z = Optional.of("z");
    Comparator<Optional<String>> comparator = Comparators.emptiesLast(comparing(String::length));
    Helpers.testComparator(comparator, z, abc, empty);
    
    comparator = Comparators.emptiesLast(naturalOrder());
  }
  public void testMinMaxNatural() {
    assertThat(Comparators.min(1, 2)).isEqualTo(1);
    assertThat(Comparators.min(2, 1)).isEqualTo(1);
    assertThat(Comparators.max(1, 2)).isEqualTo(2);
    assertThat(Comparators.max(2, 1)).isEqualTo(2);
  }
  public void testMinMaxNatural_equalInstances() {
    Foo a = new Foo(1);
    Foo b = new Foo(1);
    assertThat(Comparators.min(a, b)).isSameInstanceAs(a);
    assertThat(Comparators.max(a, b)).isSameInstanceAs(a);
  }
  public void testMinMaxComparator() {
    Comparator<Integer> natural = Ordering.natural();
    Comparator<Integer> reverse = Collections.reverseOrder(natural);
    assertThat(Comparators.min(1, 2, reverse)).isEqualTo(2);
    assertThat(Comparators.min(2, 1, reverse)).isEqualTo(2);
    assertThat(Comparators.max(1, 2, reverse)).isEqualTo(1);