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
* Non-Javadoc.
	 * Method defined on StructuredViewer.
	 */
	public void reveal(Object element) {
		Widget w = internalExpand(element, true);
		if (w instanceof Item)
			showItem((Item) w);
	}
	/**
	 * Returns the rightmost visible descendent of the given item.
	 * Returns the item itself if it has no children.
	 *
	 * @param item the item to compute the descendent of
	 * @return the rightmost visible descendent or the item iself
	 *  if it has no children
	 */
	private Item rightMostVisibleDescendent(Item item) {
		Item[] children = getItems(item);
		if (getExpanded(item) && children != null && children.length > 0) {
			return rightMostVisibleDescendent(children[children.length - 1]);
		} else {
			return item;
		}
	}
	/* (non-Javadoc)
	 * Method declared on Viewer.
	 */
	public Item scrollDown(int x, int y) {
		Item current = getItem(x, y);
		if (current != null) {