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
}
	}
	/**
	 * Creates an abstract tree viewer. The viewer has no input, no content provider, a
	 * default label provider, no sorter, no filters, and has auto-expand turned off.
	 */
	protected AbstractTreeViewer() {
	}
	/**
	 * Adds the given child elements to this viewer as children of the given parent element.
	 * If this viewer does not have a sorter, the elements are added at the end of the 
	 * parent's list of children in the order given; otherwise, the elements are inserted
	 * at the appropriate positions.
	 * <p>
	 * This method should be called (by the content provider) when elements 
	 * have been added to the model, in order to cause the viewer to accurately
	 * reflect the model. This method only affects the viewer, not the model.
	 * </p>
	 *
	 * @param parentElement the parent element
	 * @param childElements the child elements to add
	 */
	public void add(Object parentElement, Object[] childElements) {
		Assert.isNotNull(parentElement);
		Assert.isNotNull(childElements);
		Widget widget = findItem(parentElement);
		
		if (widget == null)
			return;
		Control tree = getControl();