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
public void handleChange(ChangeEvent event) {
			revalidate();
		}
	};
	/**
	 * Constructs a MultiValidator on the default realm.
	 */
	public MultiValidator() {
		this(Realm.getDefault());
	}
	/**
	 * Constructs a MultiValidator on the given realm.
	 * 
	 * @param realm
	 *            the realm on which validation takes place.
	 */
	public MultiValidator(Realm realm) {
		Assert.isNotNull(realm, "Realm cannot be null"); 
		this.realm = realm;
		validationStatus = new WritableValue(realm, ValidationStatus.ok(),
				IStatus.class);
		targets = new WritableList(realm, new ArrayList(), IObservable.class);
		targets.addListChangeListener(targetsListener);
		unmodifiableTargets = Observables.unmodifiableObservableList(targets);
		models = Observables.emptyObservableList(realm);
	}
	private void checkObservable(IObservable target) {
		Assert.isNotNull(target, "Target observable cannot be null"); 
		Assert
				.isTrue(realm.equals(target.getRealm()),