Bug 277966 [Databinding] regression: ObservablesManager throws NPE on dispose if one of the observables is already disposed
tests/org.eclipse.jface.tests.databinding/src/org/eclipse/core/tests/databinding/ObservablesManagerTest.java
FlagOnDisposeObservableValue targetOv = new FlagOnDisposeObservableValue();
		FlagOnDisposeObservableValue modelOv = new FlagOnDisposeObservableValue();
		dbc.bindValue(targetOv, modelOv);
		ObservablesManager observablesManager = new ObservablesManager();
		observablesManager.addObservablesFromContext(dbc, false, true);
		observablesManager.dispose();
		assertFalse(targetOv.disposeCalled);
		assertTrue(modelOv.disposeCalled);
	}
	public void testOnlyTargetIsDisposed() throws Exception {
		FlagOnDisposeObservableValue targetOv = new FlagOnDisposeObservableValue();
		FlagOnDisposeObservableValue modelOv = new FlagOnDisposeObservableValue();
		dbc.bindValue(targetOv, modelOv);
		ObservablesManager observablesManager = new ObservablesManager();
		observablesManager.addObservablesFromContext(dbc, true, false);
		observablesManager.dispose();
		assertTrue(targetOv.disposeCalled);
		assertFalse(modelOv.disposeCalled);
	}
	public void testTargetAndModelIsDisposed() throws Exception {
		FlagOnDisposeObservableValue targetOv = new FlagOnDisposeObservableValue();
		FlagOnDisposeObservableValue modelOv = new FlagOnDisposeObservableValue();
		dbc.bindValue(targetOv, modelOv);
		ObservablesManager observablesManager = new ObservablesManager();
		observablesManager.addObservablesFromContext(dbc, true, true);
		observablesManager.dispose();
		assertTrue(targetOv.disposeCalled);
		assertTrue(modelOv.disposeCalled);
	}
	private static class FlagOnDisposeObservableValue implements