Bug 126839 [DataBinding] IObservable refactoring
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/beans/JavaBeanTree.java
}
	};
	
	HashMap listenerSupport = new HashMap();
	
	/**
	 * @param modelDescripton
	 */
	public JavaBeanTree(TreeModelDescription modelDescripton) {
		this.modelDescription = modelDescripton;
		if (modelDescripton.getRoot()==null) {
			rootElements = Collections.EMPTY_LIST.toArray();
		} else {
			rootElements = modelDescripton.getRoot().getClass().isArray()?
				          (Object[]) modelDescripton.getRoot():
				           new Object[] { modelDescripton.getRoot() };
		}
		TreeNode root = new TreeNode(null);
		nodes.put(this, root);
		hookup(null, rootElements);		
	}
	
	
	
	
	private Class getRelevantClass(Object o) {
		if (o==null) {
			return null;
		}
		Class leafClass = null;