src/main/java/org/fest/assertions/internal/Lists.java
public void assertContains(Description description, List<?> actual, Object[] values) {
    checkIsNotNullAndNotEmpty(values);
    assertNotNull(description, actual);
    Set<Object> copyOfActual = new LinkedHashSet<Object>(actual);
    Set<Object> notFound = containsOnly(copyOfActual, values);
    if (!notFound.isEmpty()) {
      throw failures.failure(description, shouldContain(actual, values, notFound));
    }
  }
public void assertContains(Description description, List<?> actual, Object[] values) {
    checkIsNotNullAndNotEmpty(values);
    assertNotNull(description, actual);
    Set<Object> copyOfActual = new LinkedHashSet<Object>(actual);
    Set<Object> notFound = containsOnly(copyOfActual, values);
    if (!notFound.isEmpty()) {
      throw failures.failure(description, shouldContain(actual, values, notFound));
    }
  }
Asserts that the given {@code List} contains all of the given values, 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 all the given values.