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
/**
	 * Updates the tree items to correspond to the child elements of the given parent element.
	 * If null is passed for the children, this method obtains them (only if needed).
	 *
	 * @param widget the widget
	 * @param parent the parent element
	 * @param elementChildren the child elements, or null
	 * 
	 * @deprecated this is no longer called by the framework
	 */
	protected void updateChildren(
		Widget widget,
		Object parent,
		Object[] elementChildren) {
		updateChildren(widget, parent, elementChildren, true);
	}
	/**
	 * Updates the tree items to correspond to the child elements of the given parent element.
	 * If null is passed for the children, this method obtains them (only if needed).
	 *
	 * @param widget the widget
	 * @param parent the parent element
	 * @param elementChildren the child elements, or null
	 * @param updateLabels <code>true</code> to update labels for existing elements,
	 *   <code>false</code> to only update labels as needed, assuming that labels
	 *   for existing elements are unchanged.
	 * 
	 * @since 2.1
	 */
	private void updateChildren(