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
} else {
					
					tree.redraw();
				}
			}
		}
	}
	/**
	 * Sets the expanded state of all items to correspond to the given set of expanded elements.
	 *
	 * @param expandedElements the set (element type: <code>Object</code>) of elements which are expanded
	 * @param widget the widget
	 */
	private void internalSetExpanded(HashSet expandedElements, Widget widget) {
		Item[] items = getChildren(widget);
		for (int i = 0; i < items.length; i++) {
			Item item = items[i];
			Object data = item.getData();
			if (data != null) {
				
				
				boolean expanded = expandedElements.remove(data);
				if (expanded != getExpanded(item)) {
					if (expanded) {
						createChildren(item);
					}
					setExpanded(item, expanded);
				}
			}
			internalSetExpanded(expandedElements, item);