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/TableViewer.java
* Set the fonts and colors for the tableItem if there is a color
		 * and font provider available.
		 * @param tableItem The item to update.
		 * @param element The element being represented
		 * @param column The column index
		 */
		public void setFontsAndColors(TableItem tableItem, Object element, int column){
			if (colorProvider != null) {
				tableItem.setBackground(column, colorProvider.getBackground(element,
						column));
				tableItem.setForeground(column, colorProvider.getForeground(element,
						column));
			}
			if(fontProvider != null)
				tableItem.setFont(column,fontProvider.getFont(element,column));
		}	
		
	}
	
	/**
	 * Internal table viewer implementation.
	 */
	private TableEditorImpl tableViewerImpl;
	/**
	 * This viewer's table control.
	 */
	private Table table;
	/**
	 * This viewer's table editor.
	 */