code: public void addAll(int index, T... items) {
          List<T> collection = Arrays.asList(items);
          synchronized (mLock) {
              if (mOriginalValues != null) {
                  mOriginalValues.addAll(index, collection);
              } else {
                  mObjects.addAll(index, collection);
              }
          }
          if (mNotifyOnChange) notifyDataSetChanged();
      }
docs: Inserts the specified objects at the specified index in the array.
  
  @param items The objects to insert into the array.
  @param index The index at which the object must be inserted.