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.ui.ide/src/org/eclipse/ui/views/markers/internal/TableView.java
private static final String TAG_COLUMN_ORDER_INDEX = "columnOrderIndex"; 
	private static final String TAG_VERTICAL_POSITION = "verticalPosition"; 
	private static final String TAG_HORIZONTAL_POSITION = "horizontalPosition"; 
	private TreeViewer viewer;
	private IMemento memento;
	private IAction sortAction;
	private IAction filtersAction;
	private IAction preferencesAction;
	private MarkerTreeContentProvider contentProvider;
	private ISelectionProvider selectionProvider = new MarkerSelectionProviderAdapter();
	/*
	 * (non-Javadoc) Method declared on IViewPart.
	 */
	public void init(IViewSite site, IMemento memento) throws PartInitException {
		super.init(site, memento);
		this.memento = memento;
	}
	/**
	 * 
	 */
	
	
	
	
	
	
	
	
	
	abstract protected void viewerSelectionChanged(