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
}
	/**
	 * Collapses all nodes of the viewer's tree, starting with the root.
	 * This method is equivalent to <code>collapseToLevel(ALL_LEVELS)</code>.
	 */
	public void collapseAll() {
		collapseToLevel(getRoot(), ALL_LEVELS);
	}
	/**
	 * Collapses the subtree rooted at the given element to the given level.
	 *
	 * @param element the element
	 * @param level non-negative level, or <code>ALL_LEVELS</code> to collapse
	 *  all levels of the tree
	 */
	public void collapseToLevel(Object element, int level) {
		Widget w = findItem(element);
		if (w != null)
			internalCollapseToLevel(w, level);
	}
	/**
	 * Creates all children for the given widget.
	 * <p>
	 * The default implementation of this framework method assumes 
	 * that <code>widget.getData()</code> returns the element corresponding
	 * to the node. Note: the node is not visually expanded! You may have to 
	 * call <code>parent.setExpanded(true)</code>.
	 * </p>
	 *
	 * @param widget the widget