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
buildLabel(updateLabel, element);
			
			
			if (treeItem.isDisposed()) {
				unmapElement(element);
				return;
			}
			if (updateLabel.hasNewText())
				treeItem.setText(updateLabel.getText());
			if (updateLabel.hasNewImage())
				treeItem.setImage(updateLabel.getImage());
		} else {
			for (int column = 0; column < columnCount; column++) {
				
				String text = "";
				Image image = null;
				treeColorAndFont.setFontsAndColors(treeItem, element, column);
				if (tprov == null) {
					if (column == 0) {
						ViewerLabel updateLabel = new ViewerLabel(treeItem
								.getText(), treeItem.getImage());
						buildLabel(updateLabel, element);
						
						
						if (treeItem.isDisposed()) {
							unmapElement(element);
							return;
						}
						text = updateLabel.getText();
						image = updateLabel.getImage();