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/databinding/DataBindingContext.java
}
			});
		}
		if (bindSpec.getDomainValidator() == null) {
			bindSpec.setDomainValidator(dataBindingContext
					.createDomainValidator(modelType));
		}
		if (bindSpec.getModelToTargetConverter() == null) {
			bindSpec.setModelToTargetConverter(dataBindingContext
					.createConverter(modelType, targetType));
		}
		if (bindSpec.getTargetToModelConverter() == null) {
			bindSpec.setTargetToModelConverter(dataBindingContext
					.createConverter(targetType, modelType));
		}
	}
	protected IStatus fireBindingEvent(BindingEvent event) {
		IStatus result = Status.OK_STATUS;
		for (Iterator bindingEventIter = bindingEventListeners.iterator(); bindingEventIter
				.hasNext();) {
			IBindingListener listener = (IBindingListener) bindingEventIter
					.next();
			result = listener.bindingEvent(event);
			if (!result.isOK())
				break;
		}
		return result;
	}
	/**
	 * Returns an unmodifiable observable list with elements of type Binding, ordered by