Java Commons Collections removeAll

CollectionUtils :: removeAll () Commons Collections 3.2.1

Debo estar volviéndome loco, porque parece que este método está haciendo lo contrario de lo que dicen los documentos:

Elimina los elementos en eliminar de la colección. Es decir, este método devuelve una colección que contiene todos los elementos en c que no están en eliminar.

Esta pequeña prueba JUnit

@Test
public void testCommonsRemoveAll() throws Exception {
    String str1 = "foo";
    String str2 = "bar";
    String str3 = "qux";

    List<String> collection = Arrays.asList(str1, str2, str3);
    System.out.println("collection: " + collection);

    List<String> remove = Arrays.asList(str1);
    System.out.println("remove: " + remove);

    Collection result = CollectionUtils.removeAll(collection, remove);
    System.out.println("result: " + result);
    assertEquals(2, result.size());
}

Está fallando con

java.lang.AssertionError: esperado: <2> pero era: <1>

e imprime

collection: [foo, bar, qux] 
remove: [foo] 
result: [foo]

De mi lectura de los documentos, debo esperar[bar, qux]. ¿Qué me he perdido?

Respuestas a la pregunta(2)

Su respuesta a la pregunta