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
* 
	 * @return the list of column properties
	 * @since 3.1
	 */
	public Object[] getColumnProperties() {
		return treeViewerImpl.getColumnProperties();
	}
	/*
	 * (non-Javadoc) Method declared in Viewer.
	 */
	public Control getControl() {
		return tree;
	}
	/*
	 * (non-Javadoc) Method declared in AbstractTreeViewer.
	 */
	protected boolean getExpanded(Item item) {
		return ((TreeItem) item).getExpanded();
	}
	/*
	 * (non-Javadoc) Method declared in StructuredViewer.
	 */
	protected Item getItem(int x, int y) {
		return getTree().getItem(getTree().toControl(new Point(x, y)));
	}
	/*
	 * (non-Javadoc) Method declared in AbstractTreeViewer.
	 */
	protected int getItemCount(Control widget) {
		return ((Tree) widget).getItemCount();