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
* Method declared on StructuredViewer.
	 */
	protected Object[] getRawChildren(Object parent) {
		if (parent != null) {
			if (equals(parent, getRoot()))
				return super.getRawChildren(parent);
			ITreeContentProvider cp =
				(ITreeContentProvider) getContentProvider();
			if (cp != null) {
				Object[] result = cp.getChildren(parent);
				if (result != null)
					return result;
			}
		}
		return new Object[0];
	}
	/**
	 * Returns all selected items for the given SWT control.
	 *
	 * @param control the control
	 * @return the list of selected items
	 */
	protected abstract Item[] getSelection(Control control);
	/* (non-Javadoc)
	 * Method declared on StructuredViewer.
	 */
	protected List getSelectionFromWidget() {
		Widget[] items = getSelection(getControl());
		ArrayList list = new ArrayList(items.length);
		for (int i = 0; i < items.length; i++) {