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
* @param callback
	 */
	public void processStalenessChange(IObservable child, boolean callback) {
		boolean oldStale = staleCount > 0;
		IdentityWrapper wrappedChild = new IdentityWrapper(child);
		boolean oldChildStale = getOldChildStale(wrappedChild);
		boolean newChildStale = child.isStale();
		if (oldChildStale != newChildStale) {
			if (oldChildStale) {
				staleCount--;
			} else {
				staleCount++;
			}
			staleMap.put(wrappedChild, newChildStale ? Boolean.TRUE : Boolean.FALSE);
		}
		boolean newStale = staleCount > 0;
		if (callback && (newStale != oldStale)) {
			stalenessConsumer.setStale(newStale);
		}
	}
	/**
	 * @param wrappedChild
	 */
	private boolean getOldChildStale(IdentityWrapper wrappedChild) {
		Object oldChildValue = staleMap.get(wrappedChild);
		boolean oldChildStale = oldChildValue == null ? false
				: ((Boolean) oldChildValue).booleanValue();
		return oldChildStale;
	}
	/**