Bug 184755 [DataBinding] internal tree content provider does not work
I broke the tree content providers while trying to update them to use TreePaths. It would be good to have a working implementation again...
bundles/org.eclipse.core.databinding.observable/src/org/eclipse/core/databinding/observable/set/AbstractObservableSet.java
* This class is thread safe. All state accessing methods must be invoked from
 * the {@link Realm#isCurrent() current realm}. Methods for adding and removing
 * listeners may be invoked from any thread.
 * </p>
 * 
 * @since 1.0
 */
public abstract class AbstractObservableSet extends AbstractObservable implements
		IObservableSet {
	private ChangeSupport changeSupport;
	private boolean stale = false;
	protected AbstractObservableSet() {
		this(Realm.getDefault());
	}
	protected AbstractObservableSet(Realm realm) {
		super(realm);
		changeSupport = new ChangeSupport(realm){
			protected void firstListenerAdded() {
				AbstractObservableSet.this.firstListenerAdded();
			}
			protected void lastListenerRemoved() {
				AbstractObservableSet.this.lastListenerRemoved();
			}
		};
	}
	
	public synchronized void addSetChangeListener(ISetChangeListener listener) {
		changeSupport.addListener(SetChangeEvent.TYPE, listener);
	}
	public synchronized void removeSetChangeListener(ISetChangeListener listener) {