Bug 127861 [DataBinding] Mark API provisional
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/viewers/UpdatableSetContentProvider.java
private void added(Collection added) {
            final List filtered = new ArrayList();
            for (Iterator iter = added.iterator(); iter.hasNext();) {
				Object object = iter.next();
				
                if (filter.select(object)) {
                    filtered.add(object);
                }
            }
            doAdd(filtered, !viewer.getControl().isDisposed());
        }
    };
    public UpdatableSetContentProvider() {
    }
    public void setFilter(IFilter filter) {
        this.filter = filter;
    }
    public Object[] getElements(Object inputElement) {
        return readableSet.toCollection().toArray();
    }
    private void doAdd(Collection added, boolean updateViewer) {
    	elements.doFireAdd(added);
    	
		if (updateViewer) {
			Object[] toAdd = added.toArray();
	    	if (viewer instanceof TableViewer) {
	    		TableViewer tv = (TableViewer) viewer;
    			tv.add(toAdd);
	    	} else if (viewer instanceof AbstractListViewer) {