Bug 198906 [DataBinding] SelectionProviderSingleSelectionObservableValue doesn't remove selectionChangedListener on dispose
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/internal/viewers/SelectionProviderSingleSelectionObservableValue.java
currentSelection = doGetValue();
							fireValueChange(Diffs.createValueDiff(oldSelection,
									currentSelection));
						}
					}
				});
	}
	/**
	 * Sets the selection to the provided <code>value</code>. Value change
	 * events are fired after selection is set in the selection provider.
	 * 
	 * @param value
	 *            object to set as selected, <code>null</code> if wanting to
	 *            remove selection
	 */
	public void doSetValue(final Object value) {
		try {
			updating = true;
			Object oldSelection = currentSelection;
			selectionProvider
					.setSelection(value == null ? StructuredSelection.EMPTY
							: new StructuredSelection(value));
			currentSelection = doGetValue();
			if (!Util.equals(oldSelection, currentSelection)) {
				fireValueChange(Diffs.createValueDiff(oldSelection,
						currentSelection));
			}
		} finally {
			updating = false;
		}