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.jface.databinding/src/org/eclipse/jface/databinding/viewers/UnorderedTreeNode.java
private boolean listeningToChildren = false;
    private boolean prefetchEnqueued = false;
    
    /**
     * @param element
     * @param cp
     */
    public UnorderedTreeNode(TreePath element, UnorderedTreeContentProvider cp) {
        this.treePath = element;
        this.contentProvider = cp;
        children = contentProvider.createChildSet(element);
        if (children == null) {
            children = Observables.emptyObservableSet(contentProvider.getKnownElements().getRealm());
            listeningToChildren = true;
        }
        hasPendingNode = children.isStale();
    }
    
    /**
     * @param parent
     */
    public void addParent(Object parent) {
        if (this.parent == null) {
            this.parent = parent;
        } else {
            if (parent.equals(this.parent)) {
                return;
            }
            if (parents == null) {
                parents = new HashSet();