### Question:
ListPM extends AbstractPM implements IListPM<T> { public boolean removeAll(Collection<? extends T> col) { int[] indexes = indicesOf(col); Interval[] intv = Interval.createIntervals(indexes); for (int i = intv.length - 1; i >= 0; --i) { Interval iv = intv[i]; this.selection.removeInterval(iv.startIndex, iv.endIndex); List<PresentationModel> removed = new LinkedList<PresentationModel>(); for (int index = iv.endIndex; index >= iv.startIndex; --index) { Entry e = entries.remove(index); onRemove(e.element); removed.add(e.element); } support.fireElementsRemoved(iv.startIndex, iv.endIndex - iv.startIndex + 1, removed); } return indexes.length > 0; } ListPM();  ListPM(int initialCapacity);  ListPM(ArrayList<Entry> list); protected  ListPM(List<Entry> list); Sorter getSorter(); void setSorter(Sorter sorter); boolean isRevalidateElementsOnChangeEnabled(); void setRevalidateElementsOnChangeEnabled(boolean enabled); void addListListener(ListListener l); void removeListListener(ListListener l); void revalidateElements(); void replace(T oldElement, T newElement); void replace(int index, T newElement); void add(T element); void add(int index, T element); void addAll(Collection<T> col); boolean contains(T element); boolean containsAll(Collection<T> col); void clear(); boolean removeAll(Collection<? extends T> col); boolean remove(T element); T removeAt(int index); void swap(int indexA, int indexB); void swap(T elemA, T elemB); void reverse(); void sortBy(boolean ascending, Path... paths); void sortBy(Collection<SortKey> newSortKeys); void sortBy(SortKey... newSortKeys); Collection<SortKey> getSortKeys(); T getAt(int index); Collection<T> toCollection(); Object[] toArray(); Selection<T> getSelection(); int indexOf(T element); int[] indicesOf(Collection<? extends T> col); int size(); boolean isEmpty(); Iterator<T> iterator(); ListIterator<T> listIterator(final int index);  }### Answer:
@Test public void removeAll() { Collection<DummyPM> copy = list.toCollection(); list.removeAll(copy); assertEquals("list.size()", 0, list.size()); assertEquals("counter.elementsRemoved", 1, counter.elementsRemoved); }