Bug 127861 [DataBinding] Mark API provisional
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/updatables/UnionSet.java
*/
	public void remove(IReadableSet s) {
		Assert.isTrue(!isDisposed());
		Assert.isNotNull(s);
		
		childSets.remove(s);
		
		if (refCounts != null) {
			deinitChild(s);
		}
	}
	private void processRemoves(Collection added) {
		ArrayList removes = new ArrayList();
		
		for (Iterator iter = added.iterator(); iter.hasNext();) {
			Object next = iter.next();
			
			Integer refCount = (Integer) refCounts.get(next);
			if (refCount != null) {
				int refs = refCount.intValue();
				if (refs <= 1) {
					removes.add(next);
					refCounts.remove(next);
				} else {
					refCount = new Integer(refCount.intValue() - 1);
					refCounts.put(next, refCount);
				}
			}
		}