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
* @return the number of children
	 */
	protected abstract int getItemCount(Control control);
	/**
	 * Returns the number of child items of the given SWT item.
	 *
	 * @param item the item
	 * @return the number of children
	 */
	protected abstract int getItemCount(Item item);
	/**
	 * Returns the child items of the given SWT item.
	 *
	 * @param item the item
	 * @return the child items
	 */
	protected abstract Item[] getItems(Item item);
	/**
	 * Returns the item after the given item in the tree, or
	 * <code>null</code> if there is no next item.
	 *
	 * @param item the item
	 * @param includeChildren <code>true</code> if the children are 
	 *  considered in determining which item is next, and <code>false</code>
	 *  if subtrees are ignored
	 * @return the next item, or <code>null</code> if none
	 */
	protected Item getNextItem(Item item, boolean includeChildren) {
		if (item == null) {
			return null;