@CanIgnoreReturnValue
  public final Ordered containsExactlyEntriesIn(Map<?, ?> expectedMap) {
    if (expectedMap.isEmpty()) {
      if (checkNotNull(actual).isEmpty()) {
        return IN_ORDER;
      } else {
        isEmpty(); // fails
        return ALREADY_FAILED;
      }
    }
    boolean containsAnyOrder = containsEntriesInAnyOrder(expectedMap, /* allowUnexpected= */ false);
    if (containsAnyOrder) {
      return new MapInOrder(expectedMap, /* allowUnexpected= */ false, /* correspondence= */ null);
    } else {
      return ALREADY_FAILED;
    }
  }
@Test
  public void containsExactlyEntriesInEmpty_fails() {
    ImmutableMap<String, Integer> actual = ImmutableMap.of("jan", 1);

    expectFailureWhenTestingThat(actual).containsExactlyEntriesIn(ImmutableMap.of());
    assertFailureKeys("expected to be empty", "but was");
  }