code: public ModelAdapter<Model, Item> setNewList(List<Model> list, boolean retainFilter) {
          List<Item> items = intercept(list);
  
          if (mUseIdDistributor) {
              getIdDistributor().checkIds(items);
          }
  
          //reset the filter
          CharSequence filter = null;
          if (getItemFilter().getConstraint() != null) {
              filter = getItemFilter().getConstraint();
              getItemFilter().performFiltering(null);
          }
  
          mapPossibleTypes(items);
  
          boolean publishResults = filter != null && retainFilter;
          if (publishResults) {
              getItemFilter().publishResults(filter, getItemFilter().performFiltering(filter));
          }
          mItems.setNewList(items, !publishResults);
  
          return this;
      }
docs: sets a complete new list of items onto this adapter, using the new list. Calls notifyDataSetChanged
  
  @param list         the new items to set
  @param retainFilter set to true if you want to keep the filter applied
  @return this