Bug 127861 [DataBinding] Mark API provisional
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/updatables/UnionSet.java
private void initChild(IReadableSet child) {
		Collection added = child.toCollection();
		child.addChangeListener(childListener);
		if (child.isStale()) {
			processStale(true);
		}
		processAdds(added);
	}
	private void deinitChild(IReadableSet child) {
		Collection removed = child.toCollection();
		child.removeChangeListener(childListener);
		if (child.isStale()) {
			processStale(false);
		}
		processRemoves(removed);
	}
	
	private void processAdds(Collection added) {
		ArrayList adds = incrementRefCounts(added);
		
		fireAdded(adds);
	}
	private ArrayList incrementRefCounts(Collection added) {
		ArrayList adds = new ArrayList();
		
		for (Iterator iter = added.iterator(); iter.hasNext();) {
			Object next = iter.next();
			
			Integer refCount = (Integer) refCounts.get(next);