src/main/java/org/fest/assertions/internal/Lists.java
public void assertContainsOnly(Description description, List<?> actual, Object[] values) {
    checkIsNotNullAndNotEmpty(values);
    assertNotNull(description, actual);
    Set<Object> notExpected = new LinkedHashSet<Object>(actual);
    Set<Object> notFound = containsOnly(notExpected, values);
    if (notExpected.isEmpty() && notFound.isEmpty()) {
      return;
    }
    throw failures.failure(description, shouldContainOnly(actual, values, notFound, notExpected));
  }
public void assertContainsOnly(Description description, List<?> actual, Object[] values) {
    checkIsNotNullAndNotEmpty(values);
    assertNotNull(description, actual);
    Set<Object> notExpected = new LinkedHashSet<Object>(actual);
    Set<Object> notFound = containsOnly(notExpected, values);
    if (notExpected.isEmpty() && notFound.isEmpty()) {
      return;
    }
    throw failures.failure(description, shouldContainOnly(actual, values, notFound, notExpected));
  }
Asserts that the given {@code List} contains only the given values and nothing else, in any order. Duplicates are
allowed.

@param description contains information about the assertion.
@param actual      the given {@code List}.
@param values      the values that are expected to be in the given {@code List}.
@throws NullPointerException     if the array of values is {@code null}.
@throws IllegalArgumentException if the array of values is empty.
@throws AssertionError           if the given {@code List} is {@code null}.
@throws AssertionError           if the given {@code List} does not contain the given values or if the given {@code List}
contains values that are not in the given array.