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
*/
	protected abstract void setSelection(List items);
	/* (non-Javadoc)
	 * Method declared on StructuredViewer.
	 */
	protected void setSelectionToWidget(List v, boolean reveal) {
		if (v == null) {
			setSelection(new ArrayList(0));
			return;
		}
		int size = v.size();
		List newSelection = new ArrayList(size);
		for (int i = 0; i < size; ++i) {
			
			Widget w = internalExpand(v.get(i), true);
			if (w instanceof Item) {
				newSelection.add(w);
			}
		}
		setSelection(newSelection);
		if (reveal && newSelection.size() > 0) {
			showItem((Item) newSelection.get(0));
		}
	}
	/**
	 * Shows the given item.
	 *
	 * @param item the item
	 */
	protected abstract void showItem(Item item);