Bug 127861 [DataBinding] Mark API provisional
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/updatables/UnionSet.java
fireRemoved(removes);
	}
	protected void firstListenerAdded() {
		super.firstListenerAdded();
		
		refCounts = new HashMap();
		staleCount = 0;
		IReadableSet[] children = (IReadableSet[]) childSets.toArray(new IReadableSet[childSets.size()]);
		for (int i = 0; i < children.length; i++) {
			IReadableSet next = children[i];
			
			next.addChangeListener(childListener);
			if (next.isStale()) {
				staleCount++;
			}
			incrementRefCounts(next.toCollection());
		}
	}
	
	protected void lastListenerRemoved() {
		super.lastListenerRemoved();
		
		IReadableSet[] children = (IReadableSet[]) childSets.toArray(new IReadableSet[childSets.size()]);
		for (int i = 0; i < children.length; i++) {
			IReadableSet next = children[i];
				
			next.removeChangeListener(childListener);
		}
		refCounts = null;
	}