docs: public void hasFirstEntry(@NullableDecl Object key, @NullableDecl Object value) {
      Entry<Object, Object> expectedEntry = Maps.immutableEntry(key, value);
      if (actualAsNavigableMap().isEmpty()) {
        failWithActual("expected to have first entry", expectedEntry);
        return;
      }
  
      Entry<?, ?> actualFirstEntry = actualAsNavigableMap().firstEntry();
      if (!Objects.equal(actualFirstEntry, expectedEntry)) {
        Object actualFirstKey = actualFirstEntry.getKey();
        if (actualAsNavigableMap().entrySet().contains(expectedEntry)) {
          failWithoutActual(
              simpleFact(
                  lenientFormat(
                      "Not true that %s has first entry <%s>. "
                          + "It does contain this entry, but the first entry is <%s>",
                      actualAsString(), expectedEntry, actualFirstEntry)));
        } else if (Objects.equal(actualFirstKey, key)) {
          failWithoutActual(
              simpleFact(
                  lenientFormat(
                      "Not true that %s has first entry <%s>, the first value is <%s>",
                      actualAsString(), expectedEntry, actualFirstEntry.getValue())));
        } else if (Objects.equal(actualFirstEntry.getValue(), value)) {
          failWithoutActual(
              simpleFact(
                  lenientFormat(
                      "Not true that %s has first entry <%s>, the first key is <%s>",
                      actualAsString(), expectedEntry, actualFirstKey)));
        } else if (actualAsNavigableMap().containsKey(key)) {
          failWithoutActual(
              simpleFact(
                  lenientFormat(
                      "Not true that %s has first entry <%s>. It does contain this key, "
                          + "but the key is mapped to <%s>, and the first entry is <%s>",
                      actualAsString(),
                      expectedEntry,
                      actualAsNavigableMap().get(key),
                      actualFirstEntry)));
        } else if (actualAsNavigableMap().containsValue(value)) {
          Set<Object> keys = new LinkedHashSet<>();
          for (Entry<?, ?> actualEntry : actualAsNavigableMap().entrySet()) {
            if (Objects.equal(actualEntry.getValue(), value)) {
              keys.add(actualEntry.getKey());
            }
          }
          failWithoutActual(
              simpleFact(
                  lenientFormat(
                      "Not true that %s has first entry <%s>. It does contain this value, but the "
                          + "value is mapped from the keys <%s>, and the first entry is <%s>",
                      actualAsString(), expectedEntry, keys, actualFirstEntry)));
        } else {
          failWithoutActual(
              simpleFact(
                  lenientFormat(
                      "Not true that %s has first entry <%s>. "
                          + "It does not contain this entry, and the first entry is <%s>",
                      actualAsString(), expectedEntry, actualFirstEntry)));
        }
      }
    }