Bug 127861 [DataBinding] Mark API provisional
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/swt/ControlUpdator.java
}
	
	private Runnable updateRunnable = new Runnable() {
		public void run() {
			updateControl();
		}
	};
	
	private PrivateInterface privateInterface = new PrivateInterface();
	private Control theControl;
	private Collection dependencies = new ArrayList();
	private boolean dirty = false;
	
	/**
	 * Creates an updator for the given control.  
	 * 
	 * @param toUpdate control to update
	 */
	public ControlUpdator(Control toUpdate) {
		theControl = toUpdate;
		
		theControl.addDisposeListener(privateInterface);
		theControl.addPaintListener(privateInterface);
		makeDirty();
	}
	
	private void updateIfNecessary() {
		if (dirty) {
			Set newDependencies = UpdatableTracker.runAndMonitor(updateRunnable);