Bug 198904 [DataBinding] Listeners in swt Observables are not removed on dispose
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/internal/swt/ListObservableValue.java
private final List list;
	private boolean updating = false;
	private String currentValue;
	/**
	 * @param list
	 */
	public ListObservableValue(List list) {
		super(list);
		this.list = list;
		this.currentValue = (String) doGetValue();
		if ((list.getStyle() & SWT.MULTI) > 0)
			throw new IllegalArgumentException(
					"SWT.SINGLE support only for a List selection"); 
		list.addListener(SWT.Selection, new Listener() {
			public void handleEvent(Event event) {
				if (!updating) {
					Object oldValue = currentValue;
					currentValue = (String) doGetValue();
					fireValueChange(Diffs.createValueDiff(oldValue,
							currentValue));
				}
			}
		});
	}
	public void doSetValue(Object value) {
		String oldValue = null;
		if (list.getSelection() != null && list.getSelection().length > 0)
			oldValue = list.getSelection()[0];