Bug 178439 [DataBinding] WritableList.removeAll(...) ListDiffEntry reports addition
The ListChangeEvent fired when WritableList.removeAll(...) is invoked reports that an addition occurred when it should report a removal.
bundles/org.eclipse.core.databinding/src/org/eclipse/core/databinding/observable/list/WritableList.java
return true;
	}
	public boolean removeAll(Collection c) {
		checkRealm();
		List entries = new ArrayList();
		for (Iterator it = c.iterator(); it.hasNext();) {
			Object element = it.next();
			int removeIndex = wrappedList.indexOf(element);
			if (removeIndex != -1) {
				wrappedList.remove(removeIndex);
				entries.add(Diffs.createListDiffEntry(removeIndex, true,
						element));
			}
		}
		fireListChange(Diffs.createListDiff((ListDiffEntry[]) entries
				.toArray(new ListDiffEntry[entries.size()])));
		return entries.size() > 0;
	}
	public boolean retainAll(Collection c) {
		checkRealm();
		List entries = new ArrayList();
		int removeIndex = 0;
		for (Iterator it = wrappedList.iterator(); it.hasNext();) {
			Object element = it.next();
			if (!c.contains(element)) {
				entries.add(Diffs.createListDiffEntry(removeIndex, false,
						element));
				it.remove();
			} else {