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
public void cancelEditing() {
		if (viewerEditor != null) {
			viewerEditor.cancelEditing();
		}
	}
	/**
	 * Apply the value of the active cell editor if one is active.
	 * 
	 * @since 3.3
	 */
	protected void applyEditorValue() {
		if (viewerEditor != null) {
			viewerEditor.applyEditorValue();
		}
	}
	/**
	 * Starts editing the given element at the given column index.
	 * 
	 * @param element
	 *            the element
	 * @param column
	 *            the column index
	 * @since 3.1 (in subclasses, added in 3.3 to abstract class)
	 */
	public void editElement(Object element, int column) {
		if (viewerEditor != null) {
			viewerEditor.editElement(element, column);
		}
	}
	/**