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.
tests/org.eclipse.jface.tests.databinding/src/org/eclipse/core/tests/databinding/observable/AbstractObservableTest.java
}
		protected void fireChange() {
			super.fireChange();
		}
		public boolean isStale() {
			getterCalled();
			return stale;
		}
		private void getterCalled() {
			ObservableTracker.getterCalled(this);
		}
		public void setStale(boolean stale) {
			boolean old = this.stale;
			this.stale = stale;
			if (stale && !old) {
				fireStale();
			}
		}
		protected boolean hasListeners() {
			return super.hasListeners();
		}
		protected void firstListenerAdded() {
			firstListenerAdded = true;
		}
		protected void lastListenerRemoved() {
			lastListenerRemoved = true;
		}
	}
}