Bug 147530 [DataBinding] Provide event objects for change listeners
Before data binding goes 1.0 it would be wise to provide EventObjects for the following listeners to ensure that the API doesn't preclude future expansion of the values supplied to listeners. Interfaces that would be affected: * IValueChangeListener * IValueChangingListener * IListChangeListener * ISetChangeListener * IMappingChangeListener
bundles/org.eclipse.core.databinding/src/org/eclipse/core/internal/databinding/observable/StalenessTracker.java
private Map staleMap = new HashMap();
	private int staleCount = 0;
	private final IStalenessConsumer stalenessConsumer;
	private class ChildListener implements IStaleListener, IChangeListener {
		public void handleStale(IObservable source) {
			processStalenessChange(source, true);
		}
		public void handleChange(IObservable source) {
			processStalenessChange(source, true);
		}
	}
	private ChildListener childListener = new ChildListener();
	/**
	 * @param observables
	 * @param stalenessConsumer 
	 */
	public StalenessTracker(IObservable[] observables,
			IStalenessConsumer stalenessConsumer) {
		this.stalenessConsumer = stalenessConsumer;
		for (int i = 0; i < observables.length; i++) {
			IObservable observable = observables[i];
			doAddObservable(observable, false);
		}
		stalenessConsumer.setStale(staleCount > 0);
	}
	/**
	 * @param child