Bug 238909 [DataBinding] Correctly set the staleness state of the validation status observable of the MultiValidator
For Bindings, the validation status observable should be stale whenever either the target or model observable is stale. For the MultiValidator, the validation status observable should be stale whenever any of its dependencies accessed from within the MultiValidator#validate() is stale.
tests/org.eclipse.jface.tests.databinding/src/org/eclipse/core/tests/databinding/validation/MultiValidatorTest.java
assertFalse(validated.isStale());
		target.setValue(new Object());
		assertTrue(validated.isStale());
		assertFalse(target.getValue().equals(validated.getValue()));
		dependency.setValue(ValidationStatus.info("info")); 
		assertEquals(target.getValue(), validated.getValue());
		assertFalse(validated.isStale());
	}
	public void testBug237884_DisposeCausesNPE() {
		MultiValidator validator = new MultiValidator() {
			protected IStatus validate() {
				return ValidationStatus.ok();
			}
		};
		try {
			validator.dispose();
		} catch (NullPointerException e) {
			fail("Bug 237884: MultiValidator.dispose() causes NPE");
		}
	}
	public void testBug237884_MultipleDispose() {
		validator.dispose();
		validator.dispose();
	}
	public void testBug237884_Comment3_ValidationStatusAsDependencyCausesStackOverflow() {
		dependency = new WritableValue(new Object(), Object.class);
		validator = new MultiValidator() {
			private int counter;
			protected IStatus validate() {
				ObservableTracker.getterCalled(dependency);