Bug 255734 [DataBinding] DecoratingObservable should self-dispose when the decorated observable is disposed
DecoratingObservable should dispose itself in response to the disposal of its decorated observable. One thing we'll have to address is that all existing observables may call firstListenerAdded() / lastListenerRemoved() in response to an addDisposeListener() / removeDisposeListener() call. We should try to eliminate this case to avoid hooking listeners when all we're interested in is disposal.
bundles/org.eclipse.core.databinding/src/org/eclipse/core/databinding/observable/ChangeManager.java
/*******************************************************************************
 * Copyright (c) 2006, 2008 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *     Matthew Hall - bug 118516
 *******************************************************************************/
package org.eclipse.core.databinding.observable;
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.ListenerList;
/**
 * Listener management implementation. Exposed to subclasses in form of
 * {@link AbstractObservable} and {@link ChangeSupport}.
 * 
 * @since 1.0
 * 
 */
 class ChangeManager {
	ListenerList[] listenerLists = null;
	Object listenerTypes[] = null;
	private Realm realm;
	/**
	 * @param realm 
	 *