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
* Return the CellEditors for the receiver, or <code>null</code> if no
     * cell editors are set.
	 * <p>
	 * Since 3.3, an alternative API is available, see
	 * {@link ViewerColumn#setEditingSupport(EditingSupport)} for a more flexible
	 * way of editing values in a column viewer.
	 * </p>
	 * 
	 * @return CellEditor[]
	 * @since 3.1 (in subclasses, added in 3.3 to abstract class)
	 * @see ViewerColumn#setEditingSupport(EditingSupport)
	 * @see EditingSupport
	 */
	public CellEditor[] getCellEditors() {
		if (viewerEditor != null) {
			return viewerEditor.getCellEditors();
		}
		return null;
	}
	/**
	 * Returns the cell modifier of this viewer, or <code>null</code> if none
     * has been set.
	 * 
	 * <p>
	 * Since 3.3, an alternative API is available, see
	 * {@link ViewerColumn#setEditingSupport(EditingSupport)} for a more flexible
	 * way of editing values in a column viewer.
	 * </p>
	 * 
	 * @return the cell modifier, or <code>null</code>