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
try {
			updating = true;
			String items[] = list.getItems();
			int index = -1;
			if (items != null && value != null) {
				for (int i = 0; i < items.length; i++) {
					if (value.equals(items[i])) {
						index = i;
						break;
					}
				}
				list.select(index); 
			}
			currentValue = (String) value;
		} finally {
			updating = false;
		}
		fireValueChange(Diffs.createValueDiff(oldValue, value));
	}
	public Object doGetValue() {
		int index = list.getSelectionIndex();
		if (index >= 0)
			return list.getItem(index);
		return null;
	}
	public Object getValueType() {
		return String.class;
	}
}