public void addAll(Collection<? extends T> collection){
  if (mEventDelegate != null)   mEventDelegate.addData(collection == null ? 0 : collection.size());
  if (collection != null && collection.size() != 0) {
synchronized (mLock) {
      mObjects.addAll(collection);
    }
  }
  int dataCount=collection == null ? 0 : collection.size();
  if (mObserver != null)   mObserver.onItemRangeInserted(getCount() - dataCount + 1,dataCount);
  if (mNotifyOnChange)   notifyItemRangeInserted(headers.size() + getCount() - dataCount + 1,dataCount);
  log("addAll notifyItemRangeInserted " + (headers.size() + getCount() - dataCount + 1) + ","+ (dataCount));
}

public void addAll ( Collection < ? extends T > collection ) { if ( mEventDelegate != null ) mEventDelegate . addData ( collection == null ? 0 : collection . size ( ) ) ; if ( collection != null && collection . size ( ) != 0 ) { synchronized ( mLock ) { mObjects . addAll ( collection ) ; } } int dataCount = collection == null ? 0 : collection . size ( ) ; if ( mObserver != null ) mObserver . onItemRangeInserted ( getCount ( ) - dataCount + 1 , dataCount ) ; if ( mNotifyOnChange ) notifyItemRangeInserted ( headers . size ( ) + getCount ( ) - dataCount + 1 , dataCount ) ; log ( "addAll notifyItemRangeInserted " + ( headers . size ( ) + getCount ( ) - dataCount + 1 ) + "," + ( dataCount ) ) ; }
adds the specified collection at the end of the array .
