Bug 183034 [DataBinding] Content providers should support AbstractTableViewer
Observable(List|Set)ContentProvider should check for AbstractTableViewer instead of TableViewer, so that it may be used with non-standard Table widgets.
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/viewers/ObservableListContentProvider.java
((TableViewer) viewer).remove(entry.getElement());
					}
					knownElements.remove(entry.getElement());
				}
			}
		}
	};
	private IObservableSet knownElements;
	/**
	 * 
	 */
	public ObservableListContentProvider() {
		observableList = new WritableList(SWTObservables.getRealm(Display.getDefault()));
		knownElements = new WritableSet(SWTObservables.getRealm(Display.getDefault()));
	}
	public Object[] getElements(Object inputElement) {
		return observableList.toArray();
	}
	public void dispose() {
		observableList.removeListChangeListener(listener);
	}
	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
		this.viewer = viewer;
		if (!(viewer instanceof TableViewer || viewer instanceof AbstractListViewer)) {
			throw new IllegalArgumentException(
					"This content provider only works with TableViewer or AbstractListViewer"); 
		}
		if (newInput != null && !(newInput instanceof IObservableList)) {
			throw new IllegalArgumentException(
					"This content provider only works with input of type IObservableList");