code: public boolean addAll(final int index, final int[] elements) {
  		addRangeCheck(index);
  
  		final int count = elements.length;
  		ensureSize(_size + count);
  
  		final int moved = _size - index;
  		if (moved > 0) {
  			arraycopy(_data, index, _data, index + count, moved);
  		}
  
  		arraycopy(elements, 0, _data, index, count);
  		_size += count;
  		return count != 0;
  	}
docs: Inserts all of the elements in the specified array into this list,
  starting at the specified position.
  
  @param index index at which to insert the first element from the
  specified collection
  @param elements collection containing elements to be added to this list
  @return <tt>true</tt> if this list changed as a result of the call
  @throws IndexOutOfBoundsException if the index is out of range
  {@code (index < 0 || index > size())}
  @throws NullPointerException if the specified array is null