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.
bundles/org.eclipse.core.databinding/src/org/eclipse/core/databinding/validation/MultiValidator.java
setStatus(status);
						} catch (RuntimeException e) {
							
							
							setStatus(ValidationStatus.error(e.getMessage(), e));
						}
					}
				}, null, null);
		ObservableTracker.runAndIgnore(new Runnable() {
			public void run() {
				List newTargets = new ArrayList(Arrays.asList(dependencies));
				targets.retainAll(newTargets);
				newTargets.removeAll(targets);
				
				newTargets.remove(validationStatus);
				newTargets.remove(unmodifiableValidationStatus);
				newTargets.remove(targets);
				newTargets.remove(unmodifiableTargets);
				newTargets.remove(models);
				targets.addAll(newTargets);
			}
		});
	}
	private void setStatus(final IStatus status) {
		ObservableTracker.runAndIgnore(new Runnable() {
			public void run() {
				validationStatus.setValue(status);
			}
		});
	}