Bug 89971 [Viewers] Viewers that use IViewerLabelProvider do too many instanceof checks
M6 Checking our viewer the calls to buildLabel are doing too many instanceof checks. As a result certain viewers (such as the table viewer) are twice as slow as they were in 3.0 due to these checks. I have written some performance suites to test the Table, Tree, List and Combo viewers. Table and Tree have this issue.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TreeViewer.java
Item item = (Item) i.next();
			Object element = item.getData();
			itemSet.put(element, element);
		}
		
		
		for (int i = 0; i < current.length; i++) {
			if (!itemSet.containsKey(current[i].getData()))
				return false;
		}
		return true;
	}
	/*
	 * (non-Javadoc) Method declared in AbstractTreeViewer.
	 */
	protected void showItem(Item item) {
		getTree().showItem((TreeItem) item);
	}
	/* (non-Javadoc)
	 * @see org.eclipse.jface.viewers.AbstractTreeViewer#getChild(org.eclipse.swt.widgets.Widget, int)
	 */
	protected Item getChild(Widget widget, int index) {
		if (widget instanceof TreeItem)
			return ((TreeItem) widget).getItem(index);
		if (widget instanceof Tree)
			return ((Tree) widget).getItem(index);
		return null;
	}
}