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
public void handleValueChange(IObservableValue source,
				final ValueDiff diff) {
			if (updatingModel)
				return;
			
			model.getRealm().exec(new Runnable() {
				public void run() {
					doUpdateTargetFromModel(diff);
				}
			});
		}
	};
	/**
	 * This also does validation.
	 * 
	 * @param diff
	 * 
	 * @param changeEvent
	 *            TODO
	 */
	private void doUpdateModelFromTarget(ValueDiff diff) {
		Assert.isTrue(model.getRealm().isCurrent());
		BindingEvent e = new BindingEvent(model, target, diff,
				BindingEvent.EVENT_COPY_TO_MODEL,
				BindingEvent.PIPELINE_AFTER_GET) {
		};
		e.originalValue = diff.getNewValue();
		if (failure(errMsg(fireBindingEvent(e)))) {
			return;
		}