class DataProvider {

    public void update(Iterable<T> items) {
        reset();
        for (T item : items) {
            allItems.put(getId(item), item);
        }
        applyFilterSortAndPaging();
        showItems();
        updateSelection();
    }

    public  DataProvider(Function<T, String> identifier, boolean multiSelect);
      DataProvider(Function<T, String> identifier, boolean multiSelect, int pageSize);

}