Bug 167450 [DataBinding] Get rid of bind support factory magic
I finally realized that we don't need that other magic factory. I'll move fillBindSpecDefaults() and the methods it calls (createConverter, createValidator etc) to a new class DefaultBindSpec. Clients who want default validators and converters created for them just create a DefaultBindSpec as opposed to a (rather empty) BindSpec. I will also move the early type checking into DefaultBindSpec to make it optional as well.
bundles/org.eclipse.core.databinding/src/org/eclipse/core/internal/databinding/ValueBinding.java
model.getValueType())) {
				throw new BindingException(
						"target to model converter does convert to model type. Expected: " + model.getValueType() + ", actual: " + targetToModelConverter.getToType()); 
			}
			targetValidator = bindSpec.getTargetValidator();
			if (targetValidator == null) {
				throw new BindingException("Missing validator"); 
			}
			targetPartialValidator = bindSpec.getPartialTargetValidator();
			if (targetPartialValidator == null) {
				throw new BindingException("Missing partial validator"); 
			}
			domainValidator = bindSpec.getDomainValidator();
			target.addValueChangeListener(targetChangeListener);
			if (target instanceof IVetoableValue) {
				((IVetoableValue) target)
						.addValueChangingListener(targetChangingListener);
			}
		}
		if (bindSpec.isUpdateTarget()) {
			updateTargetFromModel();
		}
	}
	public void dispose() {
		target.removeValueChangeListener(targetChangeListener);
		if (target instanceof IVetoableValue) {
			((IVetoableValue) target)
					.removeValueChangingListener(targetChangingListener);
		}
		model.removeValueChangeListener(modelChangeListener);