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
*  all levels of the tree
	 */
	public void setAutoExpandLevel(int level) {
		expandToLevel = level;
	}
	/**
	 * The <code>AbstractTreeViewer</code> implementation of this method
	 * checks to ensure that the content provider is an <code>ITreeContentProvider</code>.
	 */
	public void setContentProvider(IContentProvider provider) {
		Assert.isTrue(provider instanceof ITreeContentProvider);
		super.setContentProvider(provider);
	}
	/**
	 * Sets the expand state of the given item.
	 *
	 * @param item the item
	 * @param expand the expand state of the item
	 */
	protected abstract void setExpanded(Item item, boolean expand);
	/**
	 * Sets which nodes are expanded in this viewer's tree.
	 * The given list contains the elements that are to be expanded;
	 * all other nodes are to be collapsed.
	 * <p>
	 * This method is typically used when restoring the interesting
	 * state of a viewer captured by an earlier call to <code>getExpandedElements</code>.
	 * </p>
	 *
	 * @param elements the array of expanded elements