Bug 127861 [DataBinding] Mark API provisional
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/updatables/LazyCalculatedValue.java
/**
	 * Inner class that implements interfaces that we don't want to expose as
	 * public API. Each interface could have been implemented using a separate anonymous 
	 * class, but we combine them here to reduce the memory overhead and number of classes.
	 * 
	 * <p>
	 * The Runnable calls computeValue and stores the result in cachedValue. 
	 * </p> 
	 * 
	 * <p>
	 * The IUpdatableListener stores each updatable in the dependencies list. This is
	 * registered as the listener when calling UpdatableTracker, to detect every 
	 * updatable that is used by computeValue.
	 * </p>
	 * 
	 * <p>
	 * The IChangeListener is attached to every dependency.
	 * </p>
	 * 
	 */	
	private class PrivateInterfaces implements Runnable, IChangeListener {		
		public void run() {
			cachedValue = calculate();
		}
		
		public void handleChange(ChangeEvent changeEvent) {
			
			
			switch(changeEvent.getChangeType()) {