code: public void setDataItems(List<M> items) {
          boolean changed = this.dataItems != items;
          if (items == null) {
              this.dataItems = null;
          } else {
              this.dataItems = items instanceof BindableListWrapper ? (BindableListWrapper<M>) items
                                                                    : new BindableListWrapper<M>(items);
              if (changed) this.dataItems.addChangeHandler(this);
          }
          addDataItems();
      }
docs: Sets the list of model objects.
  The list will be wrapped in an {@link BindableListWrapper} to make direct changes
  to the list observable.
  
  @param items - The list of model objects. If null or empty all existing items will be removed.