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
* been added to the model, in order to cause the viewer to accurately
	 * reflect the model. This method only affects the viewer, not the model.
	 * </p>
	 * 
	 * @param element
	 *            the element
	 * @param position
	 *            a 0-based position relative to the model, or -1 to indicate
	 *            the last position
	 */
	public void insert(Object element, int position) {
		applyEditorValue();
		if (getComparator() != null || hasFilters()) {
			add(element);
			return;
		}
		if (position == -1) {
			position = table.getItemCount();
		}
		createItem(element, position);
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.jface.viewers.StructuredViewer#internalRefresh(java.lang.Object)
	 */
	protected void internalRefresh(Object element) {
		internalRefresh(element, true);
	}
	/*