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
}
	/**
	 * Refreshes the tree starting at the given widget.
	 *
	 * @param widget the widget
	 * @param element the element
	 * @param doStruct <code>true</code> if structural changes are to be picked up,
	 *   and <code>false</code> if only label provider changes are of interest
	 * @param updateLabels <code>true</code> to update labels for existing elements,
	 *   <code>false</code> to only update labels as needed, assuming that labels
	 *   for existing elements are unchanged.
	 */
	private void internalRefresh(
		Widget widget,
		Object element,
		boolean doStruct,
		boolean updateLabels) {
		if (widget instanceof Item) {
			if (doStruct) {
				updatePlus((Item) widget, element);
			}
			if (updateLabels || !equals(element, widget.getData())) {
				doUpdateItem(widget, element, true);
			} else {
				associate(element, (Item) widget);
			}
		}
		if (doStruct) {
			internalRefreshStruct(widget, element, updateLabels);
		} else {