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/ButtonObservableValueTest.java
public void testSetValue() throws Exception {
        Shell shell = new Shell();
        Button button = new Button(shell, SWT.CHECK);
        ButtonObservableValue observableValue = new ButtonObservableValue(button);
        assertEquals(Boolean.FALSE, observableValue.getValue());
        assertFalse(button.getSelection());
        
        Boolean value = Boolean.TRUE;
        observableValue.setValue(value);
        assertTrue("button value", button.getSelection());
        assertEquals("observable value", value, observableValue.getValue());
        shell.dispose();
    }
}