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/databinding/observable/AbstractObservable.java
/**
	 * Points to an instance of IChangeListener or a Collection of
	 * IChangeListener.  Access must be synchronized.
	 */
	private Object changeListeners = null;
	/**
	 * Points to an instance of IChangeListener or a Collection of
	 * IChangeListener.  Access must be synchronized.
	 */
	private Object staleListeners = null;
	
	private Realm realm;
	/**
	 * @param realm
	 */
	public AbstractObservable(Realm realm) {
		Assert.isNotNull(realm);
		this.realm = realm;
	}
	public synchronized void addChangeListener(IChangeListener listener) {
		if (changeListeners == null) {
			boolean hadListeners = hasListeners();