Bug 154329 [Viewers] Provide widget independent TableViewer implementation
At the moment the concrete classes to provide a table or a tree require that the underlying Widget is an org.eclipse.widgets.Table and org.eclipse.widgets.Tree. It would make sense to extract all code parts who don't depend on the concrete-widget to an AbstractBaseClass between: - ColumnViewer > TableViewer => ColumnViewer > AbstractBaseTableViewer > TableViewer - AbstractTreeViewer > TreeViewer => AbstractTreeViewer > AbstractBaseTreeViewer > TreeViewer
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableViewer.java
* @see org.eclipse.jface.viewers.ColumnViewer#getColumnViewerOwner(int)
	 */
	protected Widget getColumnViewerOwner(int columnIndex) {
		if (columnIndex < 0 || ( columnIndex > 0 && columnIndex >= getTable().getColumnCount() ) ) {
			return null;
		}
		if (getTable().getColumnCount() == 0)
			return getTable();
		return getTable().getColumn(columnIndex);
	}
	/**
	 * Set the TableColumnViewerPart at columnIndex to be viewerPart.
	 * 
	 * @param viewerPart
	 * @param columnIndex
	 */
	public void setColumnPart(ViewerColumn viewerPart, int columnIndex) {
		TableColumn column = getTable().getColumn(columnIndex);
		column.setData(ViewerColumn.COLUMN_VIEWER_KEY, viewerPart);
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.jface.viewers.Viewer#getControl()
	 */
	public Control getControl() {
		return table;
	}
	/**
	 * Returns the element with the given index from this table viewer. Returns