Bug 38782 TreeViewer add calls a refresh
Our implementation of TreeViewer.add is naive and can all a refresh of the entire tree. It should be more like TableViewer.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
* <p>
	 * This method is typically used when preserving the interesting
	 * state of a viewer; <code>setExpandedElements</code> is used during the restore.
	 * </p>
	 *
	 * @return the array of expanded elements
	 *
	 * @see #setExpandedElements
	 */
	public Object[] getExpandedElements() {
		ArrayList v = new ArrayList();
		internalCollectExpanded(v, getControl());
		return v.toArray();
	}
	/**
	 * Returns whether the node corresponding to the given element is expanded or collapsed.
	 *
	 * @param element the element
	 * @return <code>true</code> if the node is expanded, and <code>false</code> if collapsed
	 */
	public boolean getExpandedState(Object element) {
		Widget item = findItem(element);
		if (item instanceof Item)
			return getExpanded((Item) item);
		return false;
	}
	/**
	 * Returns the number of child items of the given SWT control.
	 *
	 * @param control the control