@CanIgnoreReturnValue
  public final Ordered containsAtLeast(
      @Nullable Object firstExpected,
      @Nullable Object secondExpected,
      @Nullable Object @Nullable ... restOfExpected) {
    return containsAtLeastElementsIn(accumulate(firstExpected, secondExpected, restOfExpected));
  }
@Test
  public void iterableContainsAtLeastFailsWithSameToStringAndHeterogeneousListWithDuplicates() {
    expectFailureWhenTestingThat(asList(1, 2, 2L, 3L, 3L)).containsAtLeast(2L, 2L, 3, 3);
    assertFailureValue("missing (3)", "2 (java.lang.Long), 3 (java.lang.Integer) [2 copies]");
    assertFailureValue(
        "though it did contain (3)", "2 (java.lang.Integer), 3 (java.lang.Long) [2 copies]");
  }