Bug 111631 [Viewers] TreeViewer needs more TableViewer API
As the TreeViewer is meant to replace the TableTreeViewer we need to add some of the API that the TableViewer had to it so that it can be used like a table. public void insert(Object element, int position) public void add(Object[] objects) Both need to be added.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
Item item = items[i];
            Object data = item.getData();
            TreePath childPath = data==null ? null: currentPath.createChildPath(data);
            if (data != null && childPath!=null) {
                
                
                boolean expanded = expandedTreePaths.remove(childPath) != null;
                if (expanded != getExpanded(item)) {
                    if (expanded) {
                        createChildren(item);
                    }
                    setExpanded(item, expanded);
                }
            }
            internalSetExpandedTreePaths(expandedTreePaths, item, childPath);
        }
	}
    /**
     * Return whether the tree node representing the given element or path can be
     * expanded. Clients should query expandablity by path if the viewer's
     * content provider is an {@link ITreePathContentProvider}.
     * <p>
     * The default implementation of this framework method calls <code>hasChildren</code>
     * on this viewer's content provider. It may be overridden if necessary.
     * </p>
     * 
     * @param elementOrTreePath
     *           the element or path
     * @return <code>true</code> if the tree node representing the given
     *         element can be expanded, or <code>false</code> if not