Bug 157174 [Viewers] Refactor new Viewer API
We are yet not completely happy with the API and refactor it.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerLabelProvider.java
* @param columnIndex
	 * @param labelProvider
	 *            The labelProvider to convert
	 * @return ViewerLabelProvider
	 */
	static ViewerLabelProvider createViewerLabelProvider(
			IBaseLabelProvider labelProvider) {
		if (labelProvider instanceof ITableLabelProvider
				|| labelProvider instanceof ITableColorProvider
				|| labelProvider instanceof ITableFontProvider)
			return new TableColumnViewerLabelProvider(labelProvider);
		if (labelProvider instanceof ViewerLabelProvider)
			return (ViewerLabelProvider) labelProvider;
		return new ViewerLabelProvider(labelProvider);
	}
	/**
	 * Updates the label for the given cell.
	 * 
	 * @param label
	 *            the {@link ViewerLabel} to update
	 * @param cell
	 *            the {@link ViewerCell} to update
	 */
	public void updateLabel(ViewerLabel label, ViewerCell cell) {
		Object element = cell.getElement();
		label.setText(labelProvider.getText(element));
		label.setImage(labelProvider.getImage(element));
		if (colorProvider != null) {
			label.setBackground(colorProvider.getBackground(element));
			label.setForeground(colorProvider.getForeground(element));