Bug 147545 [DataBinding] When attempting to fire a stale event AbstractObservable throws ClassCastException
The code in AbstractObservable for the firing of stale events appears to be incomplete. When listeners are added they're added as type IStaleListener but when retrieved they're cast to IChangeListener. I'm assuming that code was copied from the change listener code but not completed. Attaching patch...
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/provisional/observable/list/AbstractObservableList.java
* @return the size
	 */
	protected abstract int doGetSize();
	/**
	 * 
	 */
	private void getterCalled() {
		ObservableTracker.getterCalled(this);
	}
	public boolean isEmpty() {
		getterCalled();
		return super.isEmpty();
	}
	public boolean contains(Object o) {
		getterCalled();
		return super.contains(o);
	}
	public Iterator iterator() {
		final Iterator wrappedIterator = super.iterator();
		return new Iterator() {
			public void remove() {
				wrappedIterator.remove();
			}
			public boolean hasNext() {
				getterCalled();
				return wrappedIterator.hasNext();
			}
			public Object next() {
				getterCalled();
				return wrappedIterator.next();