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
private void checkObservable(IObservable target) {
		Assert.isNotNull(target, "Target observable cannot be null"); 
		Assert
				.isTrue(realm.equals(target.getRealm()),
						"Target observable must be in the same realm as MultiValidator"); 
	}
	/**
	 * Returns an {@link IObservableValue} whose value is always the current
	 * validation status of this MultiValidator. The returned observable is in
	 * the same realm as this MultiValidator.
	 * 
	 * @return an {@link IObservableValue} whose value is always the current
	 *         validation status of this MultiValidator.
	 */
	public IObservableValue getValidationStatus() {
		if (unmodifiableValidationStatus == null) {
			revalidate();
			unmodifiableValidationStatus = Observables
					.unmodifiableObservableValue(validationStatus);
		}
		return unmodifiableValidationStatus;
	}
	private void revalidate() {
		final IObservable[] dependencies = ObservableTracker.runAndMonitor(
				new Runnable() {
					public void run() {
						try {
							IStatus status = validate();
							if (status == null)
								status = ValidationStatus.ok();