Bug 127861 [DataBinding] Mark API provisional
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/updatables/ListToSetAdapter.java
private IReadableList input;
	
	/**
	 * Cached value. Null if there is no cached value. The cache is only maintained 
	 * if this object has at least one listener.
	 */
	private HashSet elements;
	
	private IChangeListener listener = new IChangeListener() {
		public void handleChange(ChangeEvent changeEvent) {
			switch(changeEvent.getChangeType()) {
			case ChangeEvent.CHANGE:
				if(changeEvent.getPosition() == ChangeEvent.POSITION_UNKNOWN) {
					HashSet oldElements = elements;
					doComputeElements();
					HashSet addedElements = new HashSet(elements);
					HashSet removedElements = new HashSet(oldElements);
					addedElements.removeAll(oldElements);
					removedElements.removeAll(elements);
					fireRemoved(removedElements);
					fireAdded(addedElements);
				}
				break;
			case ChangeEvent.ADD: