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
Widget item = items[i];
			Object e = item.getData();
			if (e != null)
				list.add(e);
		}
		return list;
	}
	/**
	 * Handles a tree collapse event from the SWT widget.
	 *
	 * @param event the SWT tree event
	 */
	protected void handleTreeCollapse(TreeEvent event) {
		if (event.item.getData() != null) {
			fireTreeCollapsed(
				new TreeExpansionEvent(this, event.item.getData()));
		}
	}
	/**
	 * Handles a tree expand event from the SWT widget.
	 *
	 * @param event the SWT tree event
	 */
	protected void handleTreeExpand(TreeEvent event) {
		createChildren(event.item);
		if (event.item.getData() != null) {
			fireTreeExpanded(
				new TreeExpansionEvent(this, event.item.getData()));
		}
	}