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
IStructuredSelection selection);
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
	 */
	public void createPartControl(Composite parent) {
		parent.setLayout(new FillLayout());
		viewer = new TreeViewer(createTree(parent));
		createColumns(viewer.getTree());
		contentProvider = new MarkerTreeContentProvider();
		viewer.setContentProvider(contentProvider);
		setLabelProviders();
		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
			public void selectionChanged(SelectionChangedEvent event) {
				IStructuredSelection selection = (IStructuredSelection) event
						.getSelection();
				viewerSelectionChanged(selection);
			}
		});
		viewer.setComparator(buildComparator());
		setSortIndicators();
		
		
		
		createActions();
		viewer.setInput(createViewerInput());
		Scrollable scrollable = (Scrollable) viewer.getControl();
		ScrollBar bar = scrollable.getVerticalBar();
		if (bar != null) {