Bug 163317 [Viewers] Take over SWT programming pattern to JFace Viewers
To open ColumnViewer for reusablility we should not make it final making the constructor protected forces people to subclass it and not directly creating instances from it.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ColumnViewer.java
*        time. Please do not use this API without consulting with the
 *        Platform/UI team.
 * 
 */
public abstract class ColumnViewer extends StructuredViewer {
	private ToolTipSupport tooltipSupport;
	/**
	 * The cell is a cached viewer cell used for refreshing.
	 */
	private ViewerCell cell = new ViewerCell(null, 0);
	private AbstractViewerEditor viewerEditor;
	/**
	 * Create a new instance of the receiver.
	 */
	public ColumnViewer() {
		viewerEditor = createViewerEditor();
	}
	protected void hookControl(Control control) {
		super.hookControl(control);
		hookEditingSupport(control);
	}
	/**
	 * Hook up the editing support. Subclasses may override.
	 * 
	 * @param control
	 *            the control you want to hook on
	 */
	protected void hookEditingSupport(Control control) {