in src/main/java/org/apache/commons/collections4/CollectionUtils.java [429:455]
public static boolean containsAll(final Collection<?> coll1, final Collection<?> coll2) {
Objects.requireNonNull(coll1, "coll1");
Objects.requireNonNull(coll2, "coll2");
if (coll2.isEmpty()) {
return true;
}
final Set<Object> elementsAlreadySeen = new HashSet<>();
for (final Object nextElement : coll2) {
if (elementsAlreadySeen.contains(nextElement)) {
continue;
}
boolean foundCurrentElement = false;
for (final Object p : coll1) {
elementsAlreadySeen.add(p);
if (Objects.equals(nextElement, p)) {
foundCurrentElement = true;
break;
}
}
if (!foundCurrentElement) {
return false;
}
}
return true;
}