Bug 237884 [DataBinding] NPE in when disposing MultiValidator instance
Build ID: I20080502-0100 Steps To Reproduce: 1.Creating an instance of a subclass of MultiValidator e.g. MultiValidator myValidator = new MultiValidator() { validate() { return Status.OK; }} 2.Calling dispose before calling getValidationStatus() -> NPE in dispose() method (unmodifiableValidationStatus.dispose();) More information:
bundles/org.eclipse.core.databinding/src/org/eclipse/core/databinding/validation/MultiValidator.java
"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();
							validationStatus.setValue(status);
						} catch (RuntimeException e) {