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