code: public RepeatedFieldBuilder<MType, BType, IType> addAllMessages(
        final Iterable<? extends MType> values) {
      for (final MType value : values) {
        if (value == null) {
          throw new NullPointerException();
        }
      }
      if (values instanceof Collection) {
        @SuppressWarnings("unchecked")
        final Collection<MType> collection = (Collection<MType>) values;
        if (collection.size() == 0) {
          return this;
        }
        ensureMutableMessageList();
        for (final MType value : values) {
          addMessage(value);
        }
      } else {
        ensureMutableMessageList();
        for (final MType value : values) {
          addMessage(value);
        }
      }
      onChanged();
      incrementModCounts();
      return this;
    }
docs: Appends all of the messages in the specified collection to the end of this list, in the order
  that they are returned by the specified collection's iterator.
  
  @param values the messages to add
  @return the builder