Bug 127861 [DataBinding] Mark API provisional
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/TreeViewerUpdatableTree.java
}
		};
		runnable.runOn(viewer.getTree().getDisplay());
	}
	public void setElements(final Object parentElement, final Object[] values) {
		SyncRunnable runnable = new SyncRunnable() {
			public Object run() {
				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);