Bug 198904 [DataBinding] Listeners in swt Observables are not removed on dispose
tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/swt/TableObservableValueTest.java
public void testSetValue() throws Exception {
        Shell shell = new Shell();
        Table table = new Table(shell, SWT.NONE);
        TableSingleSelectionObservableValue observableValue = new TableSingleSelectionObservableValue(table);
        new TableItem(table, SWT.NONE);
        
        assertEquals(-1, table.getSelectionIndex());
        assertEquals(-1, ((Integer) observableValue.getValue()).intValue());
        
        Integer value = new Integer(0);
        observableValue.setValue(value);
        assertEquals("table selection index", value.intValue(), table.getSelectionIndex());
        assertEquals("observable value", value, observableValue.getValue());
        shell.dispose();
    }
}