Bug 126839 [DataBinding] IObservable refactoring
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/TreeViewerUpdatableTree.java
hasChildren(parentElement); 
				TreeNode parentNode = getTreeNode(parentElement);
				if (parentNode == null) {
					return null;
				}
				List children = parentNode.getChildren();
				if (children != null) {
					while (children.size() > 0) {
						removeElement(parentElement, 0, true);
					}
				}					
				parentNode.setRequestedChildren(true);
				if (values != null) {
					for (int i = 0; i < values.length; i++) {
						addElement(parentElement, i, values[i], true);
					}
				}
				return null;
			}
		};
		runnable.runOn(viewer.getTree().getDisplay());
	}
	public Object getElement(Object parentElement, int index) {		
		Object element = null;
		if (hasChildren(parentElement)) {
			TreeNode parentNode = getTreeNode(parentElement);
			if (parentNode!=null) {
				List children = parentNode.getChildren();
				if (children!=null) {
					if (index>=0&&index<children.size()) {