docs: public boolean removeAll(Collection<?> collection) {
          boolean result = false;
          synchronized (mLock) {
              Iterator<?> it;
              if (mOriginalValues != null) {
                  it = mOriginalValues.iterator();
  
              } else {
                  it = mObjects.iterator();
              }
              while (it.hasNext()) {
                  if (collection.contains(it.next())) {
                      it.remove();
                      result = true;
                  }
              }
          }
          if (mNotifyOnChange) notifyDataSetChanged();
          return result;
      }