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 o = internalFindItem(items[i], element);
				if (o != null)
					return o;
			}
		}
		return null;
	}
	/**
	 * Copies the attributes of the given element into the given SWT item.
	 *
	 * @param item the SWT item
	 * @param element the element
	 */
	protected abstract void doUpdateItem(Item item, Object element);
	/* (non-Javadoc)
	 * Method declared on StructuredViewer.
	 */
	protected void doUpdateItem(
		Widget widget,
		Object element,
		boolean fullMap) {
		if (widget instanceof Item) {
			Item item = (Item) widget;
			
			if (fullMap) {
				associate(element, item);
			} else {
				item.setData(element);
				mapElement(element, item);
			}