This patch replaces ArrayList.removeAll implementation with a
faster one. It also adds the AbstractMutableCollection class
containing default implementations for addAll, removeAll and
retainAll methods and fixes tests to check if removeAll removes
all occurrences found or not.
* TEST: enabled testRetainAll
* Method resolution spared of annotations and generics
* TEST: test for canonical names "interface+generic" added
* Methods' canonical names support:
- Recursive iteration of method argument types
- Arguments in question are delivered from topmost overriden ancestor of this method