Bug 167323 [Viewers]Open AbstractTreeViewer for external widget implementors
As reported by Ross Camara AbstractTreeViewer would work for nebula if we would open the API a bit. Boris and I decided that we will do this in 2 steps: 1. open the API 2. moving the Virtual-Support bits from TreeViewer to AbstractTreeViewer when the nebula grid provides virtual support.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
for (int i = 0; i < treePaths.length; ++i) {
			TreePath treePath = treePaths[i];
			
			
			
			
			internalExpand(treePath, false);
			expandedTreePaths.put(treePath, treePath);
		}
		
		
		
		
		internalSetExpandedTreePaths(expandedTreePaths, getControl(),
				new TreePath(new Object[0]));
	}
	/**
	 * Sets whether the node corresponding to the given element or tree path is
	 * expanded or collapsed.
	 * 
	 * @param elementOrTreePath
	 *            the element
	 * @param expanded
	 *            <code>true</code> if the node is expanded, and
	 *            <code>false</code> if collapsed
	 */
	public void setExpandedState(Object elementOrTreePath, boolean expanded) {
		Assert.isNotNull(elementOrTreePath);
		Widget item = internalExpand(elementOrTreePath, false);
		if (item instanceof Item) {