code: public List<MType> getMessageList() {
      if (externalMessageList == null) {
        externalMessageList = new MessageExternalList<MType, BType, IType>(this);
      }
      return externalMessageList;
    }
docs: Gets a view of the builder as a list of messages. The returned list is live and will reflect
  any changes to the underlying builder.
  
  @return the messages in the list