package org.redkale.test.convert.proto;

//// Generated by the protocol buffer compiler.  DO NOT EDIT!
//// source: src/test/java/org/redkalex/test/protobuf/PTestBean.proto
//
//package org.redkalex.test.protobuf;
//
//public final class PTestBeanOuterClass {
//  private PTestBeanOuterClass() {}
//  public static void registerAllExtensions(
//      com.google.protobuf.ExtensionRegistryLite registry) {
//  }
//
//  public static void registerAllExtensions(
//      com.google.protobuf.ExtensionRegistry registry) {
//    registerAllExtensions(
//        (com.google.protobuf.ExtensionRegistryLite) registry);
//  }
//  public interface PTestBeanOrBuilder extends
//      // @@protoc_insertion_point(interface_extends:PTestBean)
//      com.google.protobuf.MessageOrBuilder {
//
//    /**
//     * <code>repeated bool bools = 1;</code>
//     * @return A list containing the bools.
//     */
//    java.util.List<java.lang.Boolean> getBoolsList();
//    /**
//     * <code>repeated bool bools = 1;</code>
//     * @return The count of bools.
//     */
//    int getBoolsCount();
//    /**
//     * <code>repeated bool bools = 1;</code>
//     * @param index The index of the element to return.
//     * @return The bools at the given index.
//     */
//    boolean getBools(int index);
//
//    /**
//     * <code>repeated bytes bytes = 2;</code>
//     * @return A list containing the bytes.
//     */
//    java.util.List<com.google.protobuf.ByteString> getBytesList();
//    /**
//     * <code>repeated bytes bytes = 2;</code>
//     * @return The count of bytes.
//     */
//    int getBytesCount();
//    /**
//     * <code>repeated bytes bytes = 2;</code>
//     * @param index The index of the element to return.
//     * @return The bytes at the given index.
//     */
//    com.google.protobuf.ByteString getBytes(int index);
//
//    /**
//     * <code>repeated sint32 chars = 3;</code>
//     * @return A list containing the chars.
//     */
//    java.util.List<java.lang.Integer> getCharsList();
//    /**
//     * <code>repeated sint32 chars = 3;</code>
//     * @return The count of chars.
//     */
//    int getCharsCount();
//    /**
//     * <code>repeated sint32 chars = 3;</code>
//     * @param index The index of the element to return.
//     * @return The chars at the given index.
//     */
//    int getChars(int index);
//
//    /**
//     * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//     */
//    java.util.List<org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry> 
//        getEntrysList();
//    /**
//     * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//     */
//    org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry getEntrys(int index);
//    /**
//     * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//     */
//    int getEntrysCount();
//    /**
//     * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//     */
//    java.util.List<? extends org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntryOrBuilder> 
//        getEntrysOrBuilderList();
//    /**
//     * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//     */
//    org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntryOrBuilder getEntrysOrBuilder(
//        int index);
//
//    /**
//     * <code>repeated sint32 ints = 5;</code>
//     * @return A list containing the ints.
//     */
//    java.util.List<java.lang.Integer> getIntsList();
//    /**
//     * <code>repeated sint32 ints = 5;</code>
//     * @return The count of ints.
//     */
//    int getIntsCount();
//    /**
//     * <code>repeated sint32 ints = 5;</code>
//     * @param index The index of the element to return.
//     * @return The ints at the given index.
//     */
//    int getInts(int index);
//
//    /**
//     * <code>repeated float floats = 6;</code>
//     * @return A list containing the floats.
//     */
//    java.util.List<java.lang.Float> getFloatsList();
//    /**
//     * <code>repeated float floats = 6;</code>
//     * @return The count of floats.
//     */
//    int getFloatsCount();
//    /**
//     * <code>repeated float floats = 6;</code>
//     * @param index The index of the element to return.
//     * @return The floats at the given index.
//     */
//    float getFloats(int index);
//
//    /**
//     * <code>repeated sint64 longs = 7;</code>
//     * @return A list containing the longs.
//     */
//    java.util.List<java.lang.Long> getLongsList();
//    /**
//     * <code>repeated sint64 longs = 7;</code>
//     * @return The count of longs.
//     */
//    int getLongsCount();
//    /**
//     * <code>repeated sint64 longs = 7;</code>
//     * @param index The index of the element to return.
//     * @return The longs at the given index.
//     */
//    long getLongs(int index);
//
//    /**
//     * <code>repeated double doubles = 8;</code>
//     * @return A list containing the doubles.
//     */
//    java.util.List<java.lang.Double> getDoublesList();
//    /**
//     * <code>repeated double doubles = 8;</code>
//     * @return The count of doubles.
//     */
//    int getDoublesCount();
//    /**
//     * <code>repeated double doubles = 8;</code>
//     * @param index The index of the element to return.
//     * @return The doubles at the given index.
//     */
//    double getDoubles(int index);
//
//    /**
//     * <code>repeated string strings = 9;</code>
//     * @return A list containing the strings.
//     */
//    java.util.List<java.lang.String>
//        getStringsList();
//    /**
//     * <code>repeated string strings = 9;</code>
//     * @return The count of strings.
//     */
//    int getStringsCount();
//    /**
//     * <code>repeated string strings = 9;</code>
//     * @param index The index of the element to return.
//     * @return The strings at the given index.
//     */
//    java.lang.String getStrings(int index);
//    /**
//     * <code>repeated string strings = 9;</code>
//     * @param index The index of the value to return.
//     * @return The bytes of the strings at the given index.
//     */
//    com.google.protobuf.ByteString
//        getStringsBytes(int index);
//
//    /**
//     * <code>sint32 id = 10;</code>
//     * @return The id.
//     */
//    int getId();
//
//    /**
//     * <code>string name = 11;</code>
//     * @return The name.
//     */
//    java.lang.String getName();
//    /**
//     * <code>string name = 11;</code>
//     * @return The bytes for name.
//     */
//    com.google.protobuf.ByteString
//        getNameBytes();
//
//    /**
//     * <code>string email = 12;</code>
//     * @return The email.
//     */
//    java.lang.String getEmail();
//    /**
//     * <code>string email = 12;</code>
//     * @return The bytes for email.
//     */
//    com.google.protobuf.ByteString
//        getEmailBytes();
//
//    /**
//     * <code>.PTestBean.Kind kind = 13;</code>
//     * @return The enum numeric value on the wire for kind.
//     */
//    int getKindValue();
//    /**
//     * <code>.PTestBean.Kind kind = 13;</code>
//     * @return The kind.
//     */
//    org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.Kind getKind();
//
//    /**
//     * <code>map&lt;string, sint32&gt; map = 14;</code>
//     */
//    int getMapCount();
//    /**
//     * <code>map&lt;string, sint32&gt; map = 14;</code>
//     */
//    boolean containsMap(
//        java.lang.String key);
//    /**
//     * Use {@link #getMapMap()} instead.
//     */
//    @java.lang.Deprecated
//    java.util.Map<java.lang.String, java.lang.Integer>
//    getMap();
//    /**
//     * <code>map&lt;string, sint32&gt; map = 14;</code>
//     */
//    java.util.Map<java.lang.String, java.lang.Integer>
//    getMapMap();
//    /**
//     * <code>map&lt;string, sint32&gt; map = 14;</code>
//     */
//    int getMapOrDefault(
//        java.lang.String key,
//        int defaultValue);
//    /**
//     * <code>map&lt;string, sint32&gt; map = 14;</code>
//     */
//    int getMapOrThrow(
//        java.lang.String key);
//
//    /**
//     * <code>string end = 15;</code>
//     * @return The end.
//     */
//    java.lang.String getEnd();
//    /**
//     * <code>string end = 15;</code>
//     * @return The bytes for end.
//     */
//    com.google.protobuf.ByteString
//        getEndBytes();
//  }
//  /**
//   * Protobuf type {@code PTestBean}
//   */
//  public static final class PTestBean extends
//      com.google.protobuf.GeneratedMessageV3 implements
//      // @@protoc_insertion_point(message_implements:PTestBean)
//      PTestBeanOrBuilder {
//  private static final long serialVersionUID = 0L;
//    // Use PTestBean.newBuilder() to construct.
//    private PTestBean(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
//      super(builder);
//    }
//    private PTestBean() {
//      bools_ = emptyBooleanList();
//      bytes_ = java.util.Collections.emptyList();
//      chars_ = emptyIntList();
//      entrys_ = java.util.Collections.emptyList();
//      ints_ = emptyIntList();
//      floats_ = emptyFloatList();
//      longs_ = emptyLongList();
//      doubles_ = emptyDoubleList();
//      strings_ =
//          com.google.protobuf.LazyStringArrayList.emptyList();
//      name_ = "";
//      email_ = "";
//      kind_ = 0;
//      end_ = "";
//    }
//
//    @java.lang.Override
//    @SuppressWarnings({"unused"})
//    protected java.lang.Object newInstance(
//        UnusedPrivateParameter unused) {
//      return new PTestBean();
//    }
//
//    public static final com.google.protobuf.Descriptors.Descriptor
//        getDescriptor() {
//      return org.redkalex.test.protobuf.PTestBeanOuterClass.internal_static_PTestBean_descriptor;
//    }
//
//    @SuppressWarnings({"rawtypes"})
//    @java.lang.Override
//    protected com.google.protobuf.MapField internalGetMapField(
//        int number) {
//      switch (number) {
//        case 14:
//          return internalGetMap();
//        default:
//          throw new RuntimeException(
//              "Invalid map field number: " + number);
//      }
//    }
//    @java.lang.Override
//    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
//        internalGetFieldAccessorTable() {
//      return org.redkalex.test.protobuf.PTestBeanOuterClass.internal_static_PTestBean_fieldAccessorTable
//          .ensureFieldAccessorsInitialized(
//              org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.class, org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.Builder.class);
//    }
//
//    /**
//     * Protobuf enum {@code PTestBean.Kind}
//     */
//    public enum Kind
//        implements com.google.protobuf.ProtocolMessageEnum {
//      /**
//       * <code>ONE = 0;</code>
//       */
//      ONE(0),
//      /**
//       * <code>TWO = 1;</code>
//       */
//      TWO(1),
//      /**
//       * <code>THREE = 2;</code>
//       */
//      THREE(2),
//      UNRECOGNIZED(-1),
//      ;
//
//      /**
//       * <code>ONE = 0;</code>
//       */
//      public static final int ONE_VALUE = 0;
//      /**
//       * <code>TWO = 1;</code>
//       */
//      public static final int TWO_VALUE = 1;
//      /**
//       * <code>THREE = 2;</code>
//       */
//      public static final int THREE_VALUE = 2;
//
//
//      public final int getNumber() {
//        if (this == UNRECOGNIZED) {
//          throw new java.lang.IllegalArgumentException(
//              "Can't get the number of an unknown enum value.");
//        }
//        return value;
//      }
//
//      /**
//       * @param value The numeric wire value of the corresponding enum entry.
//       * @return The enum associated with the given numeric wire value.
//       * @deprecated Use {@link #forNumber(int)} instead.
//       */
//      @java.lang.Deprecated
//      public static Kind valueOf(int value) {
//        return forNumber(value);
//      }
//
//      /**
//       * @param value The numeric wire value of the corresponding enum entry.
//       * @return The enum associated with the given numeric wire value.
//       */
//      public static Kind forNumber(int value) {
//        switch (value) {
//          case 0: return ONE;
//          case 1: return TWO;
//          case 2: return THREE;
//          default: return null;
//        }
//      }
//
//      public static com.google.protobuf.Internal.EnumLiteMap<Kind>
//          internalGetValueMap() {
//        return internalValueMap;
//      }
//      private static final com.google.protobuf.Internal.EnumLiteMap<
//          Kind> internalValueMap =
//            new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
//              public Kind findValueByNumber(int number) {
//                return Kind.forNumber(number);
//              }
//            };
//
//      public final com.google.protobuf.Descriptors.EnumValueDescriptor
//          getValueDescriptor() {
//        if (this == UNRECOGNIZED) {
//          throw new java.lang.IllegalStateException(
//              "Can't get the descriptor of an unrecognized enum value.");
//        }
//        return getDescriptor().getValues().get(ordinal());
//      }
//      public final com.google.protobuf.Descriptors.EnumDescriptor
//          getDescriptorForType() {
//        return getDescriptor();
//      }
//      public static final com.google.protobuf.Descriptors.EnumDescriptor
//          getDescriptor() {
//        return org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.getDescriptor().getEnumTypes().get(0);
//      }
//
//      private static final Kind[] VALUES = values();
//
//      public static Kind valueOf(
//          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
//        if (desc.getType() != getDescriptor()) {
//          throw new java.lang.IllegalArgumentException(
//            "EnumValueDescriptor is not for this type.");
//        }
//        if (desc.getIndex() == -1) {
//          return UNRECOGNIZED;
//        }
//        return VALUES[desc.getIndex()];
//      }
//
//      private final int value;
//
//      private Kind(int value) {
//        this.value = value;
//      }
//
//      // @@protoc_insertion_point(enum_scope:PTestBean.Kind)
//    }
//
//    public interface PTestEntryOrBuilder extends
//        // @@protoc_insertion_point(interface_extends:PTestBean.PTestEntry)
//        com.google.protobuf.MessageOrBuilder {
//
//      /**
//       * <code>repeated bool bools = 1;</code>
//       * @return A list containing the bools.
//       */
//      java.util.List<java.lang.Boolean> getBoolsList();
//      /**
//       * <code>repeated bool bools = 1;</code>
//       * @return The count of bools.
//       */
//      int getBoolsCount();
//      /**
//       * <code>repeated bool bools = 1;</code>
//       * @param index The index of the element to return.
//       * @return The bools at the given index.
//       */
//      boolean getBools(int index);
//
//      /**
//       * <code>repeated bytes bytes = 2;</code>
//       * @return A list containing the bytes.
//       */
//      java.util.List<com.google.protobuf.ByteString> getBytesList();
//      /**
//       * <code>repeated bytes bytes = 2;</code>
//       * @return The count of bytes.
//       */
//      int getBytesCount();
//      /**
//       * <code>repeated bytes bytes = 2;</code>
//       * @param index The index of the element to return.
//       * @return The bytes at the given index.
//       */
//      com.google.protobuf.ByteString getBytes(int index);
//
//      /**
//       * <code>repeated sint32 chars = 3;</code>
//       * @return A list containing the chars.
//       */
//      java.util.List<java.lang.Integer> getCharsList();
//      /**
//       * <code>repeated sint32 chars = 3;</code>
//       * @return The count of chars.
//       */
//      int getCharsCount();
//      /**
//       * <code>repeated sint32 chars = 3;</code>
//       * @param index The index of the element to return.
//       * @return The chars at the given index.
//       */
//      int getChars(int index);
//
//      /**
//       * <code>repeated sint32 shorts = 4;</code>
//       * @return A list containing the shorts.
//       */
//      java.util.List<java.lang.Integer> getShortsList();
//      /**
//       * <code>repeated sint32 shorts = 4;</code>
//       * @return The count of shorts.
//       */
//      int getShortsCount();
//      /**
//       * <code>repeated sint32 shorts = 4;</code>
//       * @param index The index of the element to return.
//       * @return The shorts at the given index.
//       */
//      int getShorts(int index);
//    }
//    /**
//     * Protobuf type {@code PTestBean.PTestEntry}
//     */
//    public static final class PTestEntry extends
//        com.google.protobuf.GeneratedMessageV3 implements
//        // @@protoc_insertion_point(message_implements:PTestBean.PTestEntry)
//        PTestEntryOrBuilder {
//    private static final long serialVersionUID = 0L;
//      // Use PTestEntry.newBuilder() to construct.
//      private PTestEntry(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
//        super(builder);
//      }
//      private PTestEntry() {
//        bools_ = emptyBooleanList();
//        bytes_ = java.util.Collections.emptyList();
//        chars_ = emptyIntList();
//        shorts_ = emptyIntList();
//      }
//
//      @java.lang.Override
//      @SuppressWarnings({"unused"})
//      protected java.lang.Object newInstance(
//          UnusedPrivateParameter unused) {
//        return new PTestEntry();
//      }
//
//      public static final com.google.protobuf.Descriptors.Descriptor
//          getDescriptor() {
//        return org.redkalex.test.protobuf.PTestBeanOuterClass.internal_static_PTestBean_PTestEntry_descriptor;
//      }
//
//      @java.lang.Override
//      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
//          internalGetFieldAccessorTable() {
//        return org.redkalex.test.protobuf.PTestBeanOuterClass.internal_static_PTestBean_PTestEntry_fieldAccessorTable
//            .ensureFieldAccessorsInitialized(
//                org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry.class, org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry.Builder.class);
//      }
//
//      public static final int BOOLS_FIELD_NUMBER = 1;
//      @SuppressWarnings("serial")
//      private com.google.protobuf.Internal.BooleanList bools_;
//      /**
//       * <code>repeated bool bools = 1;</code>
//       * @return A list containing the bools.
//       */
//      @java.lang.Override
//      public java.util.List<java.lang.Boolean>
//          getBoolsList() {
//        return bools_;
//      }
//      /**
//       * <code>repeated bool bools = 1;</code>
//       * @return The count of bools.
//       */
//      public int getBoolsCount() {
//        return bools_.size();
//      }
//      /**
//       * <code>repeated bool bools = 1;</code>
//       * @param index The index of the element to return.
//       * @return The bools at the given index.
//       */
//      public boolean getBools(int index) {
//        return bools_.getBoolean(index);
//      }
//      private int boolsMemoizedSerializedSize = -1;
//
//      public static final int BYTES_FIELD_NUMBER = 2;
//      @SuppressWarnings("serial")
//      private java.util.List<com.google.protobuf.ByteString> bytes_;
//      /**
//       * <code>repeated bytes bytes = 2;</code>
//       * @return A list containing the bytes.
//       */
//      @java.lang.Override
//      public java.util.List<com.google.protobuf.ByteString>
//          getBytesList() {
//        return bytes_;
//      }
//      /**
//       * <code>repeated bytes bytes = 2;</code>
//       * @return The count of bytes.
//       */
//      public int getBytesCount() {
//        return bytes_.size();
//      }
//      /**
//       * <code>repeated bytes bytes = 2;</code>
//       * @param index The index of the element to return.
//       * @return The bytes at the given index.
//       */
//      public com.google.protobuf.ByteString getBytes(int index) {
//        return bytes_.get(index);
//      }
//
//      public static final int CHARS_FIELD_NUMBER = 3;
//      @SuppressWarnings("serial")
//      private com.google.protobuf.Internal.IntList chars_;
//      /**
//       * <code>repeated sint32 chars = 3;</code>
//       * @return A list containing the chars.
//       */
//      @java.lang.Override
//      public java.util.List<java.lang.Integer>
//          getCharsList() {
//        return chars_;
//      }
//      /**
//       * <code>repeated sint32 chars = 3;</code>
//       * @return The count of chars.
//       */
//      public int getCharsCount() {
//        return chars_.size();
//      }
//      /**
//       * <code>repeated sint32 chars = 3;</code>
//       * @param index The index of the element to return.
//       * @return The chars at the given index.
//       */
//      public int getChars(int index) {
//        return chars_.getInt(index);
//      }
//      private int charsMemoizedSerializedSize = -1;
//
//      public static final int SHORTS_FIELD_NUMBER = 4;
//      @SuppressWarnings("serial")
//      private com.google.protobuf.Internal.IntList shorts_;
//      /**
//       * <code>repeated sint32 shorts = 4;</code>
//       * @return A list containing the shorts.
//       */
//      @java.lang.Override
//      public java.util.List<java.lang.Integer>
//          getShortsList() {
//        return shorts_;
//      }
//      /**
//       * <code>repeated sint32 shorts = 4;</code>
//       * @return The count of shorts.
//       */
//      public int getShortsCount() {
//        return shorts_.size();
//      }
//      /**
//       * <code>repeated sint32 shorts = 4;</code>
//       * @param index The index of the element to return.
//       * @return The shorts at the given index.
//       */
//      public int getShorts(int index) {
//        return shorts_.getInt(index);
//      }
//      private int shortsMemoizedSerializedSize = -1;
//
//      private byte memoizedIsInitialized = -1;
//      @java.lang.Override
//      public final boolean isInitialized() {
//        byte isInitialized = memoizedIsInitialized;
//        if (isInitialized == 1) return true;
//        if (isInitialized == 0) return false;
//
//        memoizedIsInitialized = 1;
//        return true;
//      }
//
//      @java.lang.Override
//      public void writeTo(com.google.protobuf.CodedOutputStream output)
//                          throws java.io.IOException {
//        getSerializedSize();
//        if (getBoolsList().size() > 0) {
//          output.writeUInt32NoTag(10);
//          output.writeUInt32NoTag(boolsMemoizedSerializedSize);
//        }
//        for (int i = 0; i < bools_.size(); i++) {
//          output.writeBoolNoTag(bools_.getBoolean(i));
//        }
//        for (int i = 0; i < bytes_.size(); i++) {
//          output.writeBytes(2, bytes_.get(i));
//        }
//        if (getCharsList().size() > 0) {
//          output.writeUInt32NoTag(26);
//          output.writeUInt32NoTag(charsMemoizedSerializedSize);
//        }
//        for (int i = 0; i < chars_.size(); i++) {
//          output.writeSInt32NoTag(chars_.getInt(i));
//        }
//        if (getShortsList().size() > 0) {
//          output.writeUInt32NoTag(34);
//          output.writeUInt32NoTag(shortsMemoizedSerializedSize);
//        }
//        for (int i = 0; i < shorts_.size(); i++) {
//          output.writeSInt32NoTag(shorts_.getInt(i));
//        }
//        getUnknownFields().writeTo(output);
//      }
//
//      @java.lang.Override
//      public int getSerializedSize() {
//        int size = memoizedSize;
//        if (size != -1) return size;
//
//        size = 0;
//        {
//          int dataSize = 0;
//          dataSize = 1 * getBoolsList().size();
//          size += dataSize;
//          if (!getBoolsList().isEmpty()) {
//            size += 1;
//            size += com.google.protobuf.CodedOutputStream
//                .computeInt32SizeNoTag(dataSize);
//          }
//          boolsMemoizedSerializedSize = dataSize;
//        }
//        {
//          int dataSize = 0;
//          for (int i = 0; i < bytes_.size(); i++) {
//            dataSize += com.google.protobuf.CodedOutputStream
//              .computeBytesSizeNoTag(bytes_.get(i));
//          }
//          size += dataSize;
//          size += 1 * getBytesList().size();
//        }
//        {
//          int dataSize = 0;
//          for (int i = 0; i < chars_.size(); i++) {
//            dataSize += com.google.protobuf.CodedOutputStream
//              .computeSInt32SizeNoTag(chars_.getInt(i));
//          }
//          size += dataSize;
//          if (!getCharsList().isEmpty()) {
//            size += 1;
//            size += com.google.protobuf.CodedOutputStream
//                .computeInt32SizeNoTag(dataSize);
//          }
//          charsMemoizedSerializedSize = dataSize;
//        }
//        {
//          int dataSize = 0;
//          for (int i = 0; i < shorts_.size(); i++) {
//            dataSize += com.google.protobuf.CodedOutputStream
//              .computeSInt32SizeNoTag(shorts_.getInt(i));
//          }
//          size += dataSize;
//          if (!getShortsList().isEmpty()) {
//            size += 1;
//            size += com.google.protobuf.CodedOutputStream
//                .computeInt32SizeNoTag(dataSize);
//          }
//          shortsMemoizedSerializedSize = dataSize;
//        }
//        size += getUnknownFields().getSerializedSize();
//        memoizedSize = size;
//        return size;
//      }
//
//      @java.lang.Override
//      public boolean equals(final java.lang.Object obj) {
//        if (obj == this) {
//         return true;
//        }
//        if (!(obj instanceof org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry)) {
//          return super.equals(obj);
//        }
//        org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry other = (org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry) obj;
//
//        if (!getBoolsList()
//            .equals(other.getBoolsList())) return false;
//        if (!getBytesList()
//            .equals(other.getBytesList())) return false;
//        if (!getCharsList()
//            .equals(other.getCharsList())) return false;
//        if (!getShortsList()
//            .equals(other.getShortsList())) return false;
//        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
//        return true;
//      }
//
//      @java.lang.Override
//      public int hashCode() {
//        if (memoizedHashCode != 0) {
//          return memoizedHashCode;
//        }
//        int hash = 41;
//        hash = (19 * hash) + getDescriptor().hashCode();
//        if (getBoolsCount() > 0) {
//          hash = (37 * hash) + BOOLS_FIELD_NUMBER;
//          hash = (53 * hash) + getBoolsList().hashCode();
//        }
//        if (getBytesCount() > 0) {
//          hash = (37 * hash) + BYTES_FIELD_NUMBER;
//          hash = (53 * hash) + getBytesList().hashCode();
//        }
//        if (getCharsCount() > 0) {
//          hash = (37 * hash) + CHARS_FIELD_NUMBER;
//          hash = (53 * hash) + getCharsList().hashCode();
//        }
//        if (getShortsCount() > 0) {
//          hash = (37 * hash) + SHORTS_FIELD_NUMBER;
//          hash = (53 * hash) + getShortsList().hashCode();
//        }
//        hash = (29 * hash) + getUnknownFields().hashCode();
//        memoizedHashCode = hash;
//        return hash;
//      }
//
//      public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry parseFrom(
//          java.nio.ByteBuffer data)
//          throws com.google.protobuf.InvalidProtocolBufferException {
//        return PARSER.parseFrom(data);
//      }
//      public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry parseFrom(
//          java.nio.ByteBuffer data,
//          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
//          throws com.google.protobuf.InvalidProtocolBufferException {
//        return PARSER.parseFrom(data, extensionRegistry);
//      }
//      public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry parseFrom(
//          com.google.protobuf.ByteString data)
//          throws com.google.protobuf.InvalidProtocolBufferException {
//        return PARSER.parseFrom(data);
//      }
//      public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry parseFrom(
//          com.google.protobuf.ByteString data,
//          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
//          throws com.google.protobuf.InvalidProtocolBufferException {
//        return PARSER.parseFrom(data, extensionRegistry);
//      }
//      public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry parseFrom(byte[] data)
//          throws com.google.protobuf.InvalidProtocolBufferException {
//        return PARSER.parseFrom(data);
//      }
//      public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry parseFrom(
//          byte[] data,
//          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
//          throws com.google.protobuf.InvalidProtocolBufferException {
//        return PARSER.parseFrom(data, extensionRegistry);
//      }
//      public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry parseFrom(java.io.InputStream input)
//          throws java.io.IOException {
//        return com.google.protobuf.GeneratedMessageV3
//            .parseWithIOException(PARSER, input);
//      }
//      public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry parseFrom(
//          java.io.InputStream input,
//          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
//          throws java.io.IOException {
//        return com.google.protobuf.GeneratedMessageV3
//            .parseWithIOException(PARSER, input, extensionRegistry);
//      }
//
//      public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry parseDelimitedFrom(java.io.InputStream input)
//          throws java.io.IOException {
//        return com.google.protobuf.GeneratedMessageV3
//            .parseDelimitedWithIOException(PARSER, input);
//      }
//
//      public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry parseDelimitedFrom(
//          java.io.InputStream input,
//          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
//          throws java.io.IOException {
//        return com.google.protobuf.GeneratedMessageV3
//            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
//      }
//      public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry parseFrom(
//          com.google.protobuf.CodedInputStream input)
//          throws java.io.IOException {
//        return com.google.protobuf.GeneratedMessageV3
//            .parseWithIOException(PARSER, input);
//      }
//      public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry parseFrom(
//          com.google.protobuf.CodedInputStream input,
//          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
//          throws java.io.IOException {
//        return com.google.protobuf.GeneratedMessageV3
//            .parseWithIOException(PARSER, input, extensionRegistry);
//      }
//
//      @java.lang.Override
//      public Builder newBuilderForType() { return newBuilder(); }
//      public static Builder newBuilder() {
//        return DEFAULT_INSTANCE.toBuilder();
//      }
//      public static Builder newBuilder(org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry prototype) {
//        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
//      }
//      @java.lang.Override
//      public Builder toBuilder() {
//        return this == DEFAULT_INSTANCE
//            ? new Builder() : new Builder().mergeFrom(this);
//      }
//
//      @java.lang.Override
//      protected Builder newBuilderForType(
//          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
//        Builder builder = new Builder(parent);
//        return builder;
//      }
//      /**
//       * Protobuf type {@code PTestBean.PTestEntry}
//       */
//      public static final class Builder extends
//          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
//          // @@protoc_insertion_point(builder_implements:PTestBean.PTestEntry)
//          org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntryOrBuilder {
//        public static final com.google.protobuf.Descriptors.Descriptor
//            getDescriptor() {
//          return org.redkalex.test.protobuf.PTestBeanOuterClass.internal_static_PTestBean_PTestEntry_descriptor;
//        }
//
//        @java.lang.Override
//        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
//            internalGetFieldAccessorTable() {
//          return org.redkalex.test.protobuf.PTestBeanOuterClass.internal_static_PTestBean_PTestEntry_fieldAccessorTable
//              .ensureFieldAccessorsInitialized(
//                  org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry.class, org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry.Builder.class);
//        }
//
//        // Construct using org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry.newBuilder()
//        private Builder() {
//
//        }
//
//        private Builder(
//            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
//          super(parent);
//
//        }
//        @java.lang.Override
//        public Builder clear() {
//          super.clear();
//          bitField0_ = 0;
//          bools_ = emptyBooleanList();
//          bytes_ = java.util.Collections.emptyList();
//          chars_ = emptyIntList();
//          shorts_ = emptyIntList();
//          return this;
//        }
//
//        @java.lang.Override
//        public com.google.protobuf.Descriptors.Descriptor
//            getDescriptorForType() {
//          return org.redkalex.test.protobuf.PTestBeanOuterClass.internal_static_PTestBean_PTestEntry_descriptor;
//        }
//
//        @java.lang.Override
//        public org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry getDefaultInstanceForType() {
//          return org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry.getDefaultInstance();
//        }
//
//        @java.lang.Override
//        public org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry build() {
//          org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry result = buildPartial();
//          if (!result.isInitialized()) {
//            throw newUninitializedMessageException(result);
//          }
//          return result;
//        }
//
//        @java.lang.Override
//        public org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry buildPartial() {
//          org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry result = new org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry(this);
//          buildPartialRepeatedFields(result);
//          if (bitField0_ != 0) { buildPartial0(result); }
//          onBuilt();
//          return result;
//        }
//
//        private void buildPartialRepeatedFields(org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry result) {
//          if (((bitField0_ & 0x00000001) != 0)) {
//            bools_.makeImmutable();
//            bitField0_ = (bitField0_ & ~0x00000001);
//          }
//          result.bools_ = bools_;
//          if (((bitField0_ & 0x00000002) != 0)) {
//            bytes_ = java.util.Collections.unmodifiableList(bytes_);
//            bitField0_ = (bitField0_ & ~0x00000002);
//          }
//          result.bytes_ = bytes_;
//          if (((bitField0_ & 0x00000004) != 0)) {
//            chars_.makeImmutable();
//            bitField0_ = (bitField0_ & ~0x00000004);
//          }
//          result.chars_ = chars_;
//          if (((bitField0_ & 0x00000008) != 0)) {
//            shorts_.makeImmutable();
//            bitField0_ = (bitField0_ & ~0x00000008);
//          }
//          result.shorts_ = shorts_;
//        }
//
//        private void buildPartial0(org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry result) {
//          int from_bitField0_ = bitField0_;
//        }
//
//        @java.lang.Override
//        public Builder clone() {
//          return super.clone();
//        }
//        @java.lang.Override
//        public Builder setField(
//            com.google.protobuf.Descriptors.FieldDescriptor field,
//            java.lang.Object value) {
//          return super.setField(field, value);
//        }
//        @java.lang.Override
//        public Builder clearField(
//            com.google.protobuf.Descriptors.FieldDescriptor field) {
//          return super.clearField(field);
//        }
//        @java.lang.Override
//        public Builder clearOneof(
//            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
//          return super.clearOneof(oneof);
//        }
//        @java.lang.Override
//        public Builder setRepeatedField(
//            com.google.protobuf.Descriptors.FieldDescriptor field,
//            int index, java.lang.Object value) {
//          return super.setRepeatedField(field, index, value);
//        }
//        @java.lang.Override
//        public Builder addRepeatedField(
//            com.google.protobuf.Descriptors.FieldDescriptor field,
//            java.lang.Object value) {
//          return super.addRepeatedField(field, value);
//        }
//        @java.lang.Override
//        public Builder mergeFrom(com.google.protobuf.Message other) {
//          if (other instanceof org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry) {
//            return mergeFrom((org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry)other);
//          } else {
//            super.mergeFrom(other);
//            return this;
//          }
//        }
//
//        public Builder mergeFrom(org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry other) {
//          if (other == org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry.getDefaultInstance()) return this;
//          if (!other.bools_.isEmpty()) {
//            if (bools_.isEmpty()) {
//              bools_ = other.bools_;
//              bitField0_ = (bitField0_ & ~0x00000001);
//            } else {
//              ensureBoolsIsMutable();
//              bools_.addAll(other.bools_);
//            }
//            onChanged();
//          }
//          if (!other.bytes_.isEmpty()) {
//            if (bytes_.isEmpty()) {
//              bytes_ = other.bytes_;
//              bitField0_ = (bitField0_ & ~0x00000002);
//            } else {
//              ensureBytesIsMutable();
//              bytes_.addAll(other.bytes_);
//            }
//            onChanged();
//          }
//          if (!other.chars_.isEmpty()) {
//            if (chars_.isEmpty()) {
//              chars_ = other.chars_;
//              bitField0_ = (bitField0_ & ~0x00000004);
//            } else {
//              ensureCharsIsMutable();
//              chars_.addAll(other.chars_);
//            }
//            onChanged();
//          }
//          if (!other.shorts_.isEmpty()) {
//            if (shorts_.isEmpty()) {
//              shorts_ = other.shorts_;
//              bitField0_ = (bitField0_ & ~0x00000008);
//            } else {
//              ensureShortsIsMutable();
//              shorts_.addAll(other.shorts_);
//            }
//            onChanged();
//          }
//          this.mergeUnknownFields(other.getUnknownFields());
//          onChanged();
//          return this;
//        }
//
//        @java.lang.Override
//        public final boolean isInitialized() {
//          return true;
//        }
//
//        @java.lang.Override
//        public Builder mergeFrom(
//            com.google.protobuf.CodedInputStream input,
//            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
//            throws java.io.IOException {
//          if (extensionRegistry == null) {
//            throw new java.lang.NullPointerException();
//          }
//          try {
//            boolean done = false;
//            while (!done) {
//              int tag = input.readTag();
//              switch (tag) {
//                case 0:
//                  done = true;
//                  break;
//                case 8: {
//                  boolean v = input.readBool();
//                  ensureBoolsIsMutable();
//                  bools_.addBoolean(v);
//                  break;
//                } // case 8
//                case 10: {
//                  int length = input.readRawVarint32();
//                  int limit = input.pushLimit(length);
//                  ensureBoolsIsMutable();
//                  while (input.getBytesUntilLimit() > 0) {
//                    bools_.addBoolean(input.readBool());
//                  }
//                  input.popLimit(limit);
//                  break;
//                } // case 10
//                case 18: {
//                  com.google.protobuf.ByteString v = input.readBytes();
//                  ensureBytesIsMutable();
//                  bytes_.add(v);
//                  break;
//                } // case 18
//                case 24: {
//                  int v = input.readSInt32();
//                  ensureCharsIsMutable();
//                  chars_.addInt(v);
//                  break;
//                } // case 24
//                case 26: {
//                  int length = input.readRawVarint32();
//                  int limit = input.pushLimit(length);
//                  ensureCharsIsMutable();
//                  while (input.getBytesUntilLimit() > 0) {
//                    chars_.addInt(input.readSInt32());
//                  }
//                  input.popLimit(limit);
//                  break;
//                } // case 26
//                case 32: {
//                  int v = input.readSInt32();
//                  ensureShortsIsMutable();
//                  shorts_.addInt(v);
//                  break;
//                } // case 32
//                case 34: {
//                  int length = input.readRawVarint32();
//                  int limit = input.pushLimit(length);
//                  ensureShortsIsMutable();
//                  while (input.getBytesUntilLimit() > 0) {
//                    shorts_.addInt(input.readSInt32());
//                  }
//                  input.popLimit(limit);
//                  break;
//                } // case 34
//                default: {
//                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
//                    done = true; // was an endgroup tag
//                  }
//                  break;
//                } // default:
//              } // switch (tag)
//            } // while (!done)
//          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
//            throw e.unwrapIOException();
//          } finally {
//            onChanged();
//          } // finally
//          return this;
//        }
//        private int bitField0_;
//
//        private com.google.protobuf.Internal.BooleanList bools_ = emptyBooleanList();
//        private void ensureBoolsIsMutable() {
//          if (!((bitField0_ & 0x00000001) != 0)) {
//            bools_ = mutableCopy(bools_);
//            bitField0_ |= 0x00000001;
//          }
//        }
//        /**
//         * <code>repeated bool bools = 1;</code>
//         * @return A list containing the bools.
//         */
//        public java.util.List<java.lang.Boolean>
//            getBoolsList() {
//          return ((bitField0_ & 0x00000001) != 0) ?
//                   java.util.Collections.unmodifiableList(bools_) : bools_;
//        }
//        /**
//         * <code>repeated bool bools = 1;</code>
//         * @return The count of bools.
//         */
//        public int getBoolsCount() {
//          return bools_.size();
//        }
//        /**
//         * <code>repeated bool bools = 1;</code>
//         * @param index The index of the element to return.
//         * @return The bools at the given index.
//         */
//        public boolean getBools(int index) {
//          return bools_.getBoolean(index);
//        }
//        /**
//         * <code>repeated bool bools = 1;</code>
//         * @param index The index to set the value at.
//         * @param value The bools to set.
//         * @return This builder for chaining.
//         */
//        public Builder setBools(
//            int index, boolean value) {
//
//          ensureBoolsIsMutable();
//          bools_.setBoolean(index, value);
//          onChanged();
//          return this;
//        }
//        /**
//         * <code>repeated bool bools = 1;</code>
//         * @param value The bools to add.
//         * @return This builder for chaining.
//         */
//        public Builder addBools(boolean value) {
//
//          ensureBoolsIsMutable();
//          bools_.addBoolean(value);
//          onChanged();
//          return this;
//        }
//        /**
//         * <code>repeated bool bools = 1;</code>
//         * @param values The bools to add.
//         * @return This builder for chaining.
//         */
//        public Builder addAllBools(
//            java.lang.Iterable<? extends java.lang.Boolean> values) {
//          ensureBoolsIsMutable();
//          com.google.protobuf.AbstractMessageLite.Builder.addAll(
//              values, bools_);
//          onChanged();
//          return this;
//        }
//        /**
//         * <code>repeated bool bools = 1;</code>
//         * @return This builder for chaining.
//         */
//        public Builder clearBools() {
//          bools_ = emptyBooleanList();
//          bitField0_ = (bitField0_ & ~0x00000001);
//          onChanged();
//          return this;
//        }
//
//        private java.util.List<com.google.protobuf.ByteString> bytes_ = java.util.Collections.emptyList();
//        private void ensureBytesIsMutable() {
//          if (!((bitField0_ & 0x00000002) != 0)) {
//            bytes_ = new java.util.ArrayList<com.google.protobuf.ByteString>(bytes_);
//            bitField0_ |= 0x00000002;
//          }
//        }
//        /**
//         * <code>repeated bytes bytes = 2;</code>
//         * @return A list containing the bytes.
//         */
//        public java.util.List<com.google.protobuf.ByteString>
//            getBytesList() {
//          return ((bitField0_ & 0x00000002) != 0) ?
//                   java.util.Collections.unmodifiableList(bytes_) : bytes_;
//        }
//        /**
//         * <code>repeated bytes bytes = 2;</code>
//         * @return The count of bytes.
//         */
//        public int getBytesCount() {
//          return bytes_.size();
//        }
//        /**
//         * <code>repeated bytes bytes = 2;</code>
//         * @param index The index of the element to return.
//         * @return The bytes at the given index.
//         */
//        public com.google.protobuf.ByteString getBytes(int index) {
//          return bytes_.get(index);
//        }
//        /**
//         * <code>repeated bytes bytes = 2;</code>
//         * @param index The index to set the value at.
//         * @param value The bytes to set.
//         * @return This builder for chaining.
//         */
//        public Builder setBytes(
//            int index, com.google.protobuf.ByteString value) {
//          if (value == null) { throw new NullPointerException(); }
//          ensureBytesIsMutable();
//          bytes_.set(index, value);
//          onChanged();
//          return this;
//        }
//        /**
//         * <code>repeated bytes bytes = 2;</code>
//         * @param value The bytes to add.
//         * @return This builder for chaining.
//         */
//        public Builder addBytes(com.google.protobuf.ByteString value) {
//          if (value == null) { throw new NullPointerException(); }
//          ensureBytesIsMutable();
//          bytes_.add(value);
//          onChanged();
//          return this;
//        }
//        /**
//         * <code>repeated bytes bytes = 2;</code>
//         * @param values The bytes to add.
//         * @return This builder for chaining.
//         */
//        public Builder addAllBytes(
//            java.lang.Iterable<? extends com.google.protobuf.ByteString> values) {
//          ensureBytesIsMutable();
//          com.google.protobuf.AbstractMessageLite.Builder.addAll(
//              values, bytes_);
//          onChanged();
//          return this;
//        }
//        /**
//         * <code>repeated bytes bytes = 2;</code>
//         * @return This builder for chaining.
//         */
//        public Builder clearBytes() {
//          bytes_ = java.util.Collections.emptyList();
//          bitField0_ = (bitField0_ & ~0x00000002);
//          onChanged();
//          return this;
//        }
//
//        private com.google.protobuf.Internal.IntList chars_ = emptyIntList();
//        private void ensureCharsIsMutable() {
//          if (!((bitField0_ & 0x00000004) != 0)) {
//            chars_ = mutableCopy(chars_);
//            bitField0_ |= 0x00000004;
//          }
//        }
//        /**
//         * <code>repeated sint32 chars = 3;</code>
//         * @return A list containing the chars.
//         */
//        public java.util.List<java.lang.Integer>
//            getCharsList() {
//          return ((bitField0_ & 0x00000004) != 0) ?
//                   java.util.Collections.unmodifiableList(chars_) : chars_;
//        }
//        /**
//         * <code>repeated sint32 chars = 3;</code>
//         * @return The count of chars.
//         */
//        public int getCharsCount() {
//          return chars_.size();
//        }
//        /**
//         * <code>repeated sint32 chars = 3;</code>
//         * @param index The index of the element to return.
//         * @return The chars at the given index.
//         */
//        public int getChars(int index) {
//          return chars_.getInt(index);
//        }
//        /**
//         * <code>repeated sint32 chars = 3;</code>
//         * @param index The index to set the value at.
//         * @param value The chars to set.
//         * @return This builder for chaining.
//         */
//        public Builder setChars(
//            int index, int value) {
//
//          ensureCharsIsMutable();
//          chars_.setInt(index, value);
//          onChanged();
//          return this;
//        }
//        /**
//         * <code>repeated sint32 chars = 3;</code>
//         * @param value The chars to add.
//         * @return This builder for chaining.
//         */
//        public Builder addChars(int value) {
//
//          ensureCharsIsMutable();
//          chars_.addInt(value);
//          onChanged();
//          return this;
//        }
//        /**
//         * <code>repeated sint32 chars = 3;</code>
//         * @param values The chars to add.
//         * @return This builder for chaining.
//         */
//        public Builder addAllChars(
//            java.lang.Iterable<? extends java.lang.Integer> values) {
//          ensureCharsIsMutable();
//          com.google.protobuf.AbstractMessageLite.Builder.addAll(
//              values, chars_);
//          onChanged();
//          return this;
//        }
//        /**
//         * <code>repeated sint32 chars = 3;</code>
//         * @return This builder for chaining.
//         */
//        public Builder clearChars() {
//          chars_ = emptyIntList();
//          bitField0_ = (bitField0_ & ~0x00000004);
//          onChanged();
//          return this;
//        }
//
//        private com.google.protobuf.Internal.IntList shorts_ = emptyIntList();
//        private void ensureShortsIsMutable() {
//          if (!((bitField0_ & 0x00000008) != 0)) {
//            shorts_ = mutableCopy(shorts_);
//            bitField0_ |= 0x00000008;
//          }
//        }
//        /**
//         * <code>repeated sint32 shorts = 4;</code>
//         * @return A list containing the shorts.
//         */
//        public java.util.List<java.lang.Integer>
//            getShortsList() {
//          return ((bitField0_ & 0x00000008) != 0) ?
//                   java.util.Collections.unmodifiableList(shorts_) : shorts_;
//        }
//        /**
//         * <code>repeated sint32 shorts = 4;</code>
//         * @return The count of shorts.
//         */
//        public int getShortsCount() {
//          return shorts_.size();
//        }
//        /**
//         * <code>repeated sint32 shorts = 4;</code>
//         * @param index The index of the element to return.
//         * @return The shorts at the given index.
//         */
//        public int getShorts(int index) {
//          return shorts_.getInt(index);
//        }
//        /**
//         * <code>repeated sint32 shorts = 4;</code>
//         * @param index The index to set the value at.
//         * @param value The shorts to set.
//         * @return This builder for chaining.
//         */
//        public Builder setShorts(
//            int index, int value) {
//
//          ensureShortsIsMutable();
//          shorts_.setInt(index, value);
//          onChanged();
//          return this;
//        }
//        /**
//         * <code>repeated sint32 shorts = 4;</code>
//         * @param value The shorts to add.
//         * @return This builder for chaining.
//         */
//        public Builder addShorts(int value) {
//
//          ensureShortsIsMutable();
//          shorts_.addInt(value);
//          onChanged();
//          return this;
//        }
//        /**
//         * <code>repeated sint32 shorts = 4;</code>
//         * @param values The shorts to add.
//         * @return This builder for chaining.
//         */
//        public Builder addAllShorts(
//            java.lang.Iterable<? extends java.lang.Integer> values) {
//          ensureShortsIsMutable();
//          com.google.protobuf.AbstractMessageLite.Builder.addAll(
//              values, shorts_);
//          onChanged();
//          return this;
//        }
//        /**
//         * <code>repeated sint32 shorts = 4;</code>
//         * @return This builder for chaining.
//         */
//        public Builder clearShorts() {
//          shorts_ = emptyIntList();
//          bitField0_ = (bitField0_ & ~0x00000008);
//          onChanged();
//          return this;
//        }
//        @java.lang.Override
//        public final Builder setUnknownFields(
//            final com.google.protobuf.UnknownFieldSet unknownFields) {
//          return super.setUnknownFields(unknownFields);
//        }
//
//        @java.lang.Override
//        public final Builder mergeUnknownFields(
//            final com.google.protobuf.UnknownFieldSet unknownFields) {
//          return super.mergeUnknownFields(unknownFields);
//        }
//
//
//        // @@protoc_insertion_point(builder_scope:PTestBean.PTestEntry)
//      }
//
//      // @@protoc_insertion_point(class_scope:PTestBean.PTestEntry)
//      private static final org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry DEFAULT_INSTANCE;
//      static {
//        DEFAULT_INSTANCE = new org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry();
//      }
//
//      public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry getDefaultInstance() {
//        return DEFAULT_INSTANCE;
//      }
//
//      private static final com.google.protobuf.Parser<PTestEntry>
//          PARSER = new com.google.protobuf.AbstractParser<PTestEntry>() {
//        @java.lang.Override
//        public PTestEntry parsePartialFrom(
//            com.google.protobuf.CodedInputStream input,
//            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
//            throws com.google.protobuf.InvalidProtocolBufferException {
//          Builder builder = newBuilder();
//          try {
//            builder.mergeFrom(input, extensionRegistry);
//          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
//            throw e.setUnfinishedMessage(builder.buildPartial());
//          } catch (com.google.protobuf.UninitializedMessageException e) {
//            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
//          } catch (java.io.IOException e) {
//            throw new com.google.protobuf.InvalidProtocolBufferException(e)
//                .setUnfinishedMessage(builder.buildPartial());
//          }
//          return builder.buildPartial();
//        }
//      };
//
//      public static com.google.protobuf.Parser<PTestEntry> parser() {
//        return PARSER;
//      }
//
//      @java.lang.Override
//      public com.google.protobuf.Parser<PTestEntry> getParserForType() {
//        return PARSER;
//      }
//
//      @java.lang.Override
//      public org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry getDefaultInstanceForType() {
//        return DEFAULT_INSTANCE;
//      }
//
//    }
//
//    public static final int BOOLS_FIELD_NUMBER = 1;
//    @SuppressWarnings("serial")
//    private com.google.protobuf.Internal.BooleanList bools_;
//    /**
//     * <code>repeated bool bools = 1;</code>
//     * @return A list containing the bools.
//     */
//    @java.lang.Override
//    public java.util.List<java.lang.Boolean>
//        getBoolsList() {
//      return bools_;
//    }
//    /**
//     * <code>repeated bool bools = 1;</code>
//     * @return The count of bools.
//     */
//    public int getBoolsCount() {
//      return bools_.size();
//    }
//    /**
//     * <code>repeated bool bools = 1;</code>
//     * @param index The index of the element to return.
//     * @return The bools at the given index.
//     */
//    public boolean getBools(int index) {
//      return bools_.getBoolean(index);
//    }
//    private int boolsMemoizedSerializedSize = -1;
//
//    public static final int BYTES_FIELD_NUMBER = 2;
//    @SuppressWarnings("serial")
//    private java.util.List<com.google.protobuf.ByteString> bytes_;
//    /**
//     * <code>repeated bytes bytes = 2;</code>
//     * @return A list containing the bytes.
//     */
//    @java.lang.Override
//    public java.util.List<com.google.protobuf.ByteString>
//        getBytesList() {
//      return bytes_;
//    }
//    /**
//     * <code>repeated bytes bytes = 2;</code>
//     * @return The count of bytes.
//     */
//    public int getBytesCount() {
//      return bytes_.size();
//    }
//    /**
//     * <code>repeated bytes bytes = 2;</code>
//     * @param index The index of the element to return.
//     * @return The bytes at the given index.
//     */
//    public com.google.protobuf.ByteString getBytes(int index) {
//      return bytes_.get(index);
//    }
//
//    public static final int CHARS_FIELD_NUMBER = 3;
//    @SuppressWarnings("serial")
//    private com.google.protobuf.Internal.IntList chars_;
//    /**
//     * <code>repeated sint32 chars = 3;</code>
//     * @return A list containing the chars.
//     */
//    @java.lang.Override
//    public java.util.List<java.lang.Integer>
//        getCharsList() {
//      return chars_;
//    }
//    /**
//     * <code>repeated sint32 chars = 3;</code>
//     * @return The count of chars.
//     */
//    public int getCharsCount() {
//      return chars_.size();
//    }
//    /**
//     * <code>repeated sint32 chars = 3;</code>
//     * @param index The index of the element to return.
//     * @return The chars at the given index.
//     */
//    public int getChars(int index) {
//      return chars_.getInt(index);
//    }
//    private int charsMemoizedSerializedSize = -1;
//
//    public static final int ENTRYS_FIELD_NUMBER = 4;
//    @SuppressWarnings("serial")
//    private java.util.List<org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry> entrys_;
//    /**
//     * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//     */
//    @java.lang.Override
//    public java.util.List<org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry> getEntrysList() {
//      return entrys_;
//    }
//    /**
//     * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//     */
//    @java.lang.Override
//    public java.util.List<? extends org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntryOrBuilder> 
//        getEntrysOrBuilderList() {
//      return entrys_;
//    }
//    /**
//     * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//     */
//    @java.lang.Override
//    public int getEntrysCount() {
//      return entrys_.size();
//    }
//    /**
//     * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//     */
//    @java.lang.Override
//    public org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry getEntrys(int index) {
//      return entrys_.get(index);
//    }
//    /**
//     * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//     */
//    @java.lang.Override
//    public org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntryOrBuilder getEntrysOrBuilder(
//        int index) {
//      return entrys_.get(index);
//    }
//
//    public static final int INTS_FIELD_NUMBER = 5;
//    @SuppressWarnings("serial")
//    private com.google.protobuf.Internal.IntList ints_;
//    /**
//     * <code>repeated sint32 ints = 5;</code>
//     * @return A list containing the ints.
//     */
//    @java.lang.Override
//    public java.util.List<java.lang.Integer>
//        getIntsList() {
//      return ints_;
//    }
//    /**
//     * <code>repeated sint32 ints = 5;</code>
//     * @return The count of ints.
//     */
//    public int getIntsCount() {
//      return ints_.size();
//    }
//    /**
//     * <code>repeated sint32 ints = 5;</code>
//     * @param index The index of the element to return.
//     * @return The ints at the given index.
//     */
//    public int getInts(int index) {
//      return ints_.getInt(index);
//    }
//    private int intsMemoizedSerializedSize = -1;
//
//    public static final int FLOATS_FIELD_NUMBER = 6;
//    @SuppressWarnings("serial")
//    private com.google.protobuf.Internal.FloatList floats_;
//    /**
//     * <code>repeated float floats = 6;</code>
//     * @return A list containing the floats.
//     */
//    @java.lang.Override
//    public java.util.List<java.lang.Float>
//        getFloatsList() {
//      return floats_;
//    }
//    /**
//     * <code>repeated float floats = 6;</code>
//     * @return The count of floats.
//     */
//    public int getFloatsCount() {
//      return floats_.size();
//    }
//    /**
//     * <code>repeated float floats = 6;</code>
//     * @param index The index of the element to return.
//     * @return The floats at the given index.
//     */
//    public float getFloats(int index) {
//      return floats_.getFloat(index);
//    }
//    private int floatsMemoizedSerializedSize = -1;
//
//    public static final int LONGS_FIELD_NUMBER = 7;
//    @SuppressWarnings("serial")
//    private com.google.protobuf.Internal.LongList longs_;
//    /**
//     * <code>repeated sint64 longs = 7;</code>
//     * @return A list containing the longs.
//     */
//    @java.lang.Override
//    public java.util.List<java.lang.Long>
//        getLongsList() {
//      return longs_;
//    }
//    /**
//     * <code>repeated sint64 longs = 7;</code>
//     * @return The count of longs.
//     */
//    public int getLongsCount() {
//      return longs_.size();
//    }
//    /**
//     * <code>repeated sint64 longs = 7;</code>
//     * @param index The index of the element to return.
//     * @return The longs at the given index.
//     */
//    public long getLongs(int index) {
//      return longs_.getLong(index);
//    }
//    private int longsMemoizedSerializedSize = -1;
//
//    public static final int DOUBLES_FIELD_NUMBER = 8;
//    @SuppressWarnings("serial")
//    private com.google.protobuf.Internal.DoubleList doubles_;
//    /**
//     * <code>repeated double doubles = 8;</code>
//     * @return A list containing the doubles.
//     */
//    @java.lang.Override
//    public java.util.List<java.lang.Double>
//        getDoublesList() {
//      return doubles_;
//    }
//    /**
//     * <code>repeated double doubles = 8;</code>
//     * @return The count of doubles.
//     */
//    public int getDoublesCount() {
//      return doubles_.size();
//    }
//    /**
//     * <code>repeated double doubles = 8;</code>
//     * @param index The index of the element to return.
//     * @return The doubles at the given index.
//     */
//    public double getDoubles(int index) {
//      return doubles_.getDouble(index);
//    }
//    private int doublesMemoizedSerializedSize = -1;
//
//    public static final int STRINGS_FIELD_NUMBER = 9;
//    @SuppressWarnings("serial")
//    private com.google.protobuf.LazyStringArrayList strings_ =
//        com.google.protobuf.LazyStringArrayList.emptyList();
//    /**
//     * <code>repeated string strings = 9;</code>
//     * @return A list containing the strings.
//     */
//    public com.google.protobuf.ProtocolStringList
//        getStringsList() {
//      return strings_;
//    }
//    /**
//     * <code>repeated string strings = 9;</code>
//     * @return The count of strings.
//     */
//    public int getStringsCount() {
//      return strings_.size();
//    }
//    /**
//     * <code>repeated string strings = 9;</code>
//     * @param index The index of the element to return.
//     * @return The strings at the given index.
//     */
//    public java.lang.String getStrings(int index) {
//      return strings_.get(index);
//    }
//    /**
//     * <code>repeated string strings = 9;</code>
//     * @param index The index of the value to return.
//     * @return The bytes of the strings at the given index.
//     */
//    public com.google.protobuf.ByteString
//        getStringsBytes(int index) {
//      return strings_.getByteString(index);
//    }
//
//    public static final int ID_FIELD_NUMBER = 10;
//    private int id_ = 0;
//    /**
//     * <code>sint32 id = 10;</code>
//     * @return The id.
//     */
//    @java.lang.Override
//    public int getId() {
//      return id_;
//    }
//
//    public static final int NAME_FIELD_NUMBER = 11;
//    @SuppressWarnings("serial")
//    private volatile java.lang.Object name_ = "";
//    /**
//     * <code>string name = 11;</code>
//     * @return The name.
//     */
//    @java.lang.Override
//    public java.lang.String getName() {
//      java.lang.Object ref = name_;
//      if (ref instanceof java.lang.String) {
//        return (java.lang.String) ref;
//      } else {
//        com.google.protobuf.ByteString bs = 
//            (com.google.protobuf.ByteString) ref;
//        java.lang.String s = bs.toStringUtf8();
//        name_ = s;
//        return s;
//      }
//    }
//    /**
//     * <code>string name = 11;</code>
//     * @return The bytes for name.
//     */
//    @java.lang.Override
//    public com.google.protobuf.ByteString
//        getNameBytes() {
//      java.lang.Object ref = name_;
//      if (ref instanceof java.lang.String) {
//        com.google.protobuf.ByteString b = 
//            com.google.protobuf.ByteString.copyFromUtf8(
//                (java.lang.String) ref);
//        name_ = b;
//        return b;
//      } else {
//        return (com.google.protobuf.ByteString) ref;
//      }
//    }
//
//    public static final int EMAIL_FIELD_NUMBER = 12;
//    @SuppressWarnings("serial")
//    private volatile java.lang.Object email_ = "";
//    /**
//     * <code>string email = 12;</code>
//     * @return The email.
//     */
//    @java.lang.Override
//    public java.lang.String getEmail() {
//      java.lang.Object ref = email_;
//      if (ref instanceof java.lang.String) {
//        return (java.lang.String) ref;
//      } else {
//        com.google.protobuf.ByteString bs = 
//            (com.google.protobuf.ByteString) ref;
//        java.lang.String s = bs.toStringUtf8();
//        email_ = s;
//        return s;
//      }
//    }
//    /**
//     * <code>string email = 12;</code>
//     * @return The bytes for email.
//     */
//    @java.lang.Override
//    public com.google.protobuf.ByteString
//        getEmailBytes() {
//      java.lang.Object ref = email_;
//      if (ref instanceof java.lang.String) {
//        com.google.protobuf.ByteString b = 
//            com.google.protobuf.ByteString.copyFromUtf8(
//                (java.lang.String) ref);
//        email_ = b;
//        return b;
//      } else {
//        return (com.google.protobuf.ByteString) ref;
//      }
//    }
//
//    public static final int KIND_FIELD_NUMBER = 13;
//    private int kind_ = 0;
//    /**
//     * <code>.PTestBean.Kind kind = 13;</code>
//     * @return The enum numeric value on the wire for kind.
//     */
//    @java.lang.Override public int getKindValue() {
//      return kind_;
//    }
//    /**
//     * <code>.PTestBean.Kind kind = 13;</code>
//     * @return The kind.
//     */
//    @java.lang.Override public org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.Kind getKind() {
//      org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.Kind result = org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.Kind.forNumber(kind_);
//      return result == null ? org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.Kind.UNRECOGNIZED : result;
//    }
//
//    public static final int MAP_FIELD_NUMBER = 14;
//    private static final class MapDefaultEntryHolder {
//      static final com.google.protobuf.MapEntry<
//          java.lang.String, java.lang.Integer> defaultEntry =
//              com.google.protobuf.MapEntry
//              .<java.lang.String, java.lang.Integer>newDefaultInstance(
//                  org.redkalex.test.protobuf.PTestBeanOuterClass.internal_static_PTestBean_MapEntry_descriptor, 
//                  com.google.protobuf.WireFormat.FieldType.STRING,
//                  "",
//                  com.google.protobuf.WireFormat.FieldType.SINT32,
//                  0);
//    }
//    @SuppressWarnings("serial")
//    private com.google.protobuf.MapField<
//        java.lang.String, java.lang.Integer> map_;
//    private com.google.protobuf.MapField<java.lang.String, java.lang.Integer>
//    internalGetMap() {
//      if (map_ == null) {
//        return com.google.protobuf.MapField.emptyMapField(
//            MapDefaultEntryHolder.defaultEntry);
//      }
//      return map_;
//    }
//    public int getMapCount() {
//      return internalGetMap().getMap().size();
//    }
//    /**
//     * <code>map&lt;string, sint32&gt; map = 14;</code>
//     */
//    @java.lang.Override
//    public boolean containsMap(
//        java.lang.String key) {
//      if (key == null) { throw new NullPointerException("map key"); }
//      return internalGetMap().getMap().containsKey(key);
//    }
//    /**
//     * Use {@link #getMapMap()} instead.
//     */
//    @java.lang.Override
//    @java.lang.Deprecated
//    public java.util.Map<java.lang.String, java.lang.Integer> getMap() {
//      return getMapMap();
//    }
//    /**
//     * <code>map&lt;string, sint32&gt; map = 14;</code>
//     */
//    @java.lang.Override
//    public java.util.Map<java.lang.String, java.lang.Integer> getMapMap() {
//      return internalGetMap().getMap();
//    }
//    /**
//     * <code>map&lt;string, sint32&gt; map = 14;</code>
//     */
//    @java.lang.Override
//    public int getMapOrDefault(
//        java.lang.String key,
//        int defaultValue) {
//      if (key == null) { throw new NullPointerException("map key"); }
//      java.util.Map<java.lang.String, java.lang.Integer> map =
//          internalGetMap().getMap();
//      return map.containsKey(key) ? map.get(key) : defaultValue;
//    }
//    /**
//     * <code>map&lt;string, sint32&gt; map = 14;</code>
//     */
//    @java.lang.Override
//    public int getMapOrThrow(
//        java.lang.String key) {
//      if (key == null) { throw new NullPointerException("map key"); }
//      java.util.Map<java.lang.String, java.lang.Integer> map =
//          internalGetMap().getMap();
//      if (!map.containsKey(key)) {
//        throw new java.lang.IllegalArgumentException();
//      }
//      return map.get(key);
//    }
//
//    public static final int END_FIELD_NUMBER = 15;
//    @SuppressWarnings("serial")
//    private volatile java.lang.Object end_ = "";
//    /**
//     * <code>string end = 15;</code>
//     * @return The end.
//     */
//    @java.lang.Override
//    public java.lang.String getEnd() {
//      java.lang.Object ref = end_;
//      if (ref instanceof java.lang.String) {
//        return (java.lang.String) ref;
//      } else {
//        com.google.protobuf.ByteString bs = 
//            (com.google.protobuf.ByteString) ref;
//        java.lang.String s = bs.toStringUtf8();
//        end_ = s;
//        return s;
//      }
//    }
//    /**
//     * <code>string end = 15;</code>
//     * @return The bytes for end.
//     */
//    @java.lang.Override
//    public com.google.protobuf.ByteString
//        getEndBytes() {
//      java.lang.Object ref = end_;
//      if (ref instanceof java.lang.String) {
//        com.google.protobuf.ByteString b = 
//            com.google.protobuf.ByteString.copyFromUtf8(
//                (java.lang.String) ref);
//        end_ = b;
//        return b;
//      } else {
//        return (com.google.protobuf.ByteString) ref;
//      }
//    }
//
//    private byte memoizedIsInitialized = -1;
//    @java.lang.Override
//    public final boolean isInitialized() {
//      byte isInitialized = memoizedIsInitialized;
//      if (isInitialized == 1) return true;
//      if (isInitialized == 0) return false;
//
//      memoizedIsInitialized = 1;
//      return true;
//    }
//
//    @java.lang.Override
//    public void writeTo(com.google.protobuf.CodedOutputStream output)
//                        throws java.io.IOException {
//      getSerializedSize();
//      if (getBoolsList().size() > 0) {
//        output.writeUInt32NoTag(10);
//        output.writeUInt32NoTag(boolsMemoizedSerializedSize);
//      }
//      for (int i = 0; i < bools_.size(); i++) {
//        output.writeBoolNoTag(bools_.getBoolean(i));
//      }
//      for (int i = 0; i < bytes_.size(); i++) {
//        output.writeBytes(2, bytes_.get(i));
//      }
//      if (getCharsList().size() > 0) {
//        output.writeUInt32NoTag(26);
//        output.writeUInt32NoTag(charsMemoizedSerializedSize);
//      }
//      for (int i = 0; i < chars_.size(); i++) {
//        output.writeSInt32NoTag(chars_.getInt(i));
//      }
//      for (int i = 0; i < entrys_.size(); i++) {
//        output.writeMessage(4, entrys_.get(i));
//      }
//      if (getIntsList().size() > 0) {
//        output.writeUInt32NoTag(42);
//        output.writeUInt32NoTag(intsMemoizedSerializedSize);
//      }
//      for (int i = 0; i < ints_.size(); i++) {
//        output.writeSInt32NoTag(ints_.getInt(i));
//      }
//      if (getFloatsList().size() > 0) {
//        output.writeUInt32NoTag(50);
//        output.writeUInt32NoTag(floatsMemoizedSerializedSize);
//      }
//      for (int i = 0; i < floats_.size(); i++) {
//        output.writeFloatNoTag(floats_.getFloat(i));
//      }
//      if (getLongsList().size() > 0) {
//        output.writeUInt32NoTag(58);
//        output.writeUInt32NoTag(longsMemoizedSerializedSize);
//      }
//      for (int i = 0; i < longs_.size(); i++) {
//        output.writeSInt64NoTag(longs_.getLong(i));
//      }
//      if (getDoublesList().size() > 0) {
//        output.writeUInt32NoTag(66);
//        output.writeUInt32NoTag(doublesMemoizedSerializedSize);
//      }
//      for (int i = 0; i < doubles_.size(); i++) {
//        output.writeDoubleNoTag(doubles_.getDouble(i));
//      }
//      for (int i = 0; i < strings_.size(); i++) {
//        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, strings_.getRaw(i));
//      }
//      if (id_ != 0) {
//        output.writeSInt32(10, id_);
//      }
//      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
//        com.google.protobuf.GeneratedMessageV3.writeString(output, 11, name_);
//      }
//      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(email_)) {
//        com.google.protobuf.GeneratedMessageV3.writeString(output, 12, email_);
//      }
//      if (kind_ != org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.Kind.ONE.getNumber()) {
//        output.writeEnum(13, kind_);
//      }
//      com.google.protobuf.GeneratedMessageV3
//        .serializeStringMapTo(
//          output,
//          internalGetMap(),
//          MapDefaultEntryHolder.defaultEntry,
//          14);
//      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(end_)) {
//        com.google.protobuf.GeneratedMessageV3.writeString(output, 15, end_);
//      }
//      getUnknownFields().writeTo(output);
//    }
//
//    @java.lang.Override
//    public int getSerializedSize() {
//      int size = memoizedSize;
//      if (size != -1) return size;
//
//      size = 0;
//      {
//        int dataSize = 0;
//        dataSize = 1 * getBoolsList().size();
//        size += dataSize;
//        if (!getBoolsList().isEmpty()) {
//          size += 1;
//          size += com.google.protobuf.CodedOutputStream
//              .computeInt32SizeNoTag(dataSize);
//        }
//        boolsMemoizedSerializedSize = dataSize;
//      }
//      {
//        int dataSize = 0;
//        for (int i = 0; i < bytes_.size(); i++) {
//          dataSize += com.google.protobuf.CodedOutputStream
//            .computeBytesSizeNoTag(bytes_.get(i));
//        }
//        size += dataSize;
//        size += 1 * getBytesList().size();
//      }
//      {
//        int dataSize = 0;
//        for (int i = 0; i < chars_.size(); i++) {
//          dataSize += com.google.protobuf.CodedOutputStream
//            .computeSInt32SizeNoTag(chars_.getInt(i));
//        }
//        size += dataSize;
//        if (!getCharsList().isEmpty()) {
//          size += 1;
//          size += com.google.protobuf.CodedOutputStream
//              .computeInt32SizeNoTag(dataSize);
//        }
//        charsMemoizedSerializedSize = dataSize;
//      }
//      for (int i = 0; i < entrys_.size(); i++) {
//        size += com.google.protobuf.CodedOutputStream
//          .computeMessageSize(4, entrys_.get(i));
//      }
//      {
//        int dataSize = 0;
//        for (int i = 0; i < ints_.size(); i++) {
//          dataSize += com.google.protobuf.CodedOutputStream
//            .computeSInt32SizeNoTag(ints_.getInt(i));
//        }
//        size += dataSize;
//        if (!getIntsList().isEmpty()) {
//          size += 1;
//          size += com.google.protobuf.CodedOutputStream
//              .computeInt32SizeNoTag(dataSize);
//        }
//        intsMemoizedSerializedSize = dataSize;
//      }
//      {
//        int dataSize = 0;
//        dataSize = 4 * getFloatsList().size();
//        size += dataSize;
//        if (!getFloatsList().isEmpty()) {
//          size += 1;
//          size += com.google.protobuf.CodedOutputStream
//              .computeInt32SizeNoTag(dataSize);
//        }
//        floatsMemoizedSerializedSize = dataSize;
//      }
//      {
//        int dataSize = 0;
//        for (int i = 0; i < longs_.size(); i++) {
//          dataSize += com.google.protobuf.CodedOutputStream
//            .computeSInt64SizeNoTag(longs_.getLong(i));
//        }
//        size += dataSize;
//        if (!getLongsList().isEmpty()) {
//          size += 1;
//          size += com.google.protobuf.CodedOutputStream
//              .computeInt32SizeNoTag(dataSize);
//        }
//        longsMemoizedSerializedSize = dataSize;
//      }
//      {
//        int dataSize = 0;
//        dataSize = 8 * getDoublesList().size();
//        size += dataSize;
//        if (!getDoublesList().isEmpty()) {
//          size += 1;
//          size += com.google.protobuf.CodedOutputStream
//              .computeInt32SizeNoTag(dataSize);
//        }
//        doublesMemoizedSerializedSize = dataSize;
//      }
//      {
//        int dataSize = 0;
//        for (int i = 0; i < strings_.size(); i++) {
//          dataSize += computeStringSizeNoTag(strings_.getRaw(i));
//        }
//        size += dataSize;
//        size += 1 * getStringsList().size();
//      }
//      if (id_ != 0) {
//        size += com.google.protobuf.CodedOutputStream
//          .computeSInt32Size(10, id_);
//      }
//      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
//        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, name_);
//      }
//      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(email_)) {
//        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(12, email_);
//      }
//      if (kind_ != org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.Kind.ONE.getNumber()) {
//        size += com.google.protobuf.CodedOutputStream
//          .computeEnumSize(13, kind_);
//      }
//      for (java.util.Map.Entry<java.lang.String, java.lang.Integer> entry
//           : internalGetMap().getMap().entrySet()) {
//        com.google.protobuf.MapEntry<java.lang.String, java.lang.Integer>
//        map__ = MapDefaultEntryHolder.defaultEntry.newBuilderForType()
//            .setKey(entry.getKey())
//            .setValue(entry.getValue())
//            .build();
//        size += com.google.protobuf.CodedOutputStream
//            .computeMessageSize(14, map__);
//      }
//      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(end_)) {
//        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(15, end_);
//      }
//      size += getUnknownFields().getSerializedSize();
//      memoizedSize = size;
//      return size;
//    }
//
//    @java.lang.Override
//    public boolean equals(final java.lang.Object obj) {
//      if (obj == this) {
//       return true;
//      }
//      if (!(obj instanceof org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean)) {
//        return super.equals(obj);
//      }
//      org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean other = (org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean) obj;
//
//      if (!getBoolsList()
//          .equals(other.getBoolsList())) return false;
//      if (!getBytesList()
//          .equals(other.getBytesList())) return false;
//      if (!getCharsList()
//          .equals(other.getCharsList())) return false;
//      if (!getEntrysList()
//          .equals(other.getEntrysList())) return false;
//      if (!getIntsList()
//          .equals(other.getIntsList())) return false;
//      if (!getFloatsList()
//          .equals(other.getFloatsList())) return false;
//      if (!getLongsList()
//          .equals(other.getLongsList())) return false;
//      if (!getDoublesList()
//          .equals(other.getDoublesList())) return false;
//      if (!getStringsList()
//          .equals(other.getStringsList())) return false;
//      if (getId()
//          != other.getId()) return false;
//      if (!getName()
//          .equals(other.getName())) return false;
//      if (!getEmail()
//          .equals(other.getEmail())) return false;
//      if (kind_ != other.kind_) return false;
//      if (!internalGetMap().equals(
//          other.internalGetMap())) return false;
//      if (!getEnd()
//          .equals(other.getEnd())) return false;
//      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
//      return true;
//    }
//
//    @java.lang.Override
//    public int hashCode() {
//      if (memoizedHashCode != 0) {
//        return memoizedHashCode;
//      }
//      int hash = 41;
//      hash = (19 * hash) + getDescriptor().hashCode();
//      if (getBoolsCount() > 0) {
//        hash = (37 * hash) + BOOLS_FIELD_NUMBER;
//        hash = (53 * hash) + getBoolsList().hashCode();
//      }
//      if (getBytesCount() > 0) {
//        hash = (37 * hash) + BYTES_FIELD_NUMBER;
//        hash = (53 * hash) + getBytesList().hashCode();
//      }
//      if (getCharsCount() > 0) {
//        hash = (37 * hash) + CHARS_FIELD_NUMBER;
//        hash = (53 * hash) + getCharsList().hashCode();
//      }
//      if (getEntrysCount() > 0) {
//        hash = (37 * hash) + ENTRYS_FIELD_NUMBER;
//        hash = (53 * hash) + getEntrysList().hashCode();
//      }
//      if (getIntsCount() > 0) {
//        hash = (37 * hash) + INTS_FIELD_NUMBER;
//        hash = (53 * hash) + getIntsList().hashCode();
//      }
//      if (getFloatsCount() > 0) {
//        hash = (37 * hash) + FLOATS_FIELD_NUMBER;
//        hash = (53 * hash) + getFloatsList().hashCode();
//      }
//      if (getLongsCount() > 0) {
//        hash = (37 * hash) + LONGS_FIELD_NUMBER;
//        hash = (53 * hash) + getLongsList().hashCode();
//      }
//      if (getDoublesCount() > 0) {
//        hash = (37 * hash) + DOUBLES_FIELD_NUMBER;
//        hash = (53 * hash) + getDoublesList().hashCode();
//      }
//      if (getStringsCount() > 0) {
//        hash = (37 * hash) + STRINGS_FIELD_NUMBER;
//        hash = (53 * hash) + getStringsList().hashCode();
//      }
//      hash = (37 * hash) + ID_FIELD_NUMBER;
//      hash = (53 * hash) + getId();
//      hash = (37 * hash) + NAME_FIELD_NUMBER;
//      hash = (53 * hash) + getName().hashCode();
//      hash = (37 * hash) + EMAIL_FIELD_NUMBER;
//      hash = (53 * hash) + getEmail().hashCode();
//      hash = (37 * hash) + KIND_FIELD_NUMBER;
//      hash = (53 * hash) + kind_;
//      if (!internalGetMap().getMap().isEmpty()) {
//        hash = (37 * hash) + MAP_FIELD_NUMBER;
//        hash = (53 * hash) + internalGetMap().hashCode();
//      }
//      hash = (37 * hash) + END_FIELD_NUMBER;
//      hash = (53 * hash) + getEnd().hashCode();
//      hash = (29 * hash) + getUnknownFields().hashCode();
//      memoizedHashCode = hash;
//      return hash;
//    }
//
//    public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean parseFrom(
//        java.nio.ByteBuffer data)
//        throws com.google.protobuf.InvalidProtocolBufferException {
//      return PARSER.parseFrom(data);
//    }
//    public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean parseFrom(
//        java.nio.ByteBuffer data,
//        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
//        throws com.google.protobuf.InvalidProtocolBufferException {
//      return PARSER.parseFrom(data, extensionRegistry);
//    }
//    public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean parseFrom(
//        com.google.protobuf.ByteString data)
//        throws com.google.protobuf.InvalidProtocolBufferException {
//      return PARSER.parseFrom(data);
//    }
//    public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean parseFrom(
//        com.google.protobuf.ByteString data,
//        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
//        throws com.google.protobuf.InvalidProtocolBufferException {
//      return PARSER.parseFrom(data, extensionRegistry);
//    }
//    public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean parseFrom(byte[] data)
//        throws com.google.protobuf.InvalidProtocolBufferException {
//      return PARSER.parseFrom(data);
//    }
//    public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean parseFrom(
//        byte[] data,
//        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
//        throws com.google.protobuf.InvalidProtocolBufferException {
//      return PARSER.parseFrom(data, extensionRegistry);
//    }
//    public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean parseFrom(java.io.InputStream input)
//        throws java.io.IOException {
//      return com.google.protobuf.GeneratedMessageV3
//          .parseWithIOException(PARSER, input);
//    }
//    public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean parseFrom(
//        java.io.InputStream input,
//        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
//        throws java.io.IOException {
//      return com.google.protobuf.GeneratedMessageV3
//          .parseWithIOException(PARSER, input, extensionRegistry);
//    }
//
//    public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean parseDelimitedFrom(java.io.InputStream input)
//        throws java.io.IOException {
//      return com.google.protobuf.GeneratedMessageV3
//          .parseDelimitedWithIOException(PARSER, input);
//    }
//
//    public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean parseDelimitedFrom(
//        java.io.InputStream input,
//        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
//        throws java.io.IOException {
//      return com.google.protobuf.GeneratedMessageV3
//          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
//    }
//    public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean parseFrom(
//        com.google.protobuf.CodedInputStream input)
//        throws java.io.IOException {
//      return com.google.protobuf.GeneratedMessageV3
//          .parseWithIOException(PARSER, input);
//    }
//    public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean parseFrom(
//        com.google.protobuf.CodedInputStream input,
//        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
//        throws java.io.IOException {
//      return com.google.protobuf.GeneratedMessageV3
//          .parseWithIOException(PARSER, input, extensionRegistry);
//    }
//
//    @java.lang.Override
//    public Builder newBuilderForType() { return newBuilder(); }
//    public static Builder newBuilder() {
//      return DEFAULT_INSTANCE.toBuilder();
//    }
//    public static Builder newBuilder(org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean prototype) {
//      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
//    }
//    @java.lang.Override
//    public Builder toBuilder() {
//      return this == DEFAULT_INSTANCE
//          ? new Builder() : new Builder().mergeFrom(this);
//    }
//
//    @java.lang.Override
//    protected Builder newBuilderForType(
//        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
//      Builder builder = new Builder(parent);
//      return builder;
//    }
//    /**
//     * Protobuf type {@code PTestBean}
//     */
//    public static final class Builder extends
//        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
//        // @@protoc_insertion_point(builder_implements:PTestBean)
//        org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBeanOrBuilder {
//      public static final com.google.protobuf.Descriptors.Descriptor
//          getDescriptor() {
//        return org.redkalex.test.protobuf.PTestBeanOuterClass.internal_static_PTestBean_descriptor;
//      }
//
//      @SuppressWarnings({"rawtypes"})
//      protected com.google.protobuf.MapField internalGetMapField(
//          int number) {
//        switch (number) {
//          case 14:
//            return internalGetMap();
//          default:
//            throw new RuntimeException(
//                "Invalid map field number: " + number);
//        }
//      }
//      @SuppressWarnings({"rawtypes"})
//      protected com.google.protobuf.MapField internalGetMutableMapField(
//          int number) {
//        switch (number) {
//          case 14:
//            return internalGetMutableMap();
//          default:
//            throw new RuntimeException(
//                "Invalid map field number: " + number);
//        }
//      }
//      @java.lang.Override
//      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
//          internalGetFieldAccessorTable() {
//        return org.redkalex.test.protobuf.PTestBeanOuterClass.internal_static_PTestBean_fieldAccessorTable
//            .ensureFieldAccessorsInitialized(
//                org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.class, org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.Builder.class);
//      }
//
//      // Construct using org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.newBuilder()
//      private Builder() {
//
//      }
//
//      private Builder(
//          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
//        super(parent);
//
//      }
//      @java.lang.Override
//      public Builder clear() {
//        super.clear();
//        bitField0_ = 0;
//        bools_ = emptyBooleanList();
//        bytes_ = java.util.Collections.emptyList();
//        chars_ = emptyIntList();
//        if (entrysBuilder_ == null) {
//          entrys_ = java.util.Collections.emptyList();
//        } else {
//          entrys_ = null;
//          entrysBuilder_.clear();
//        }
//        bitField0_ = (bitField0_ & ~0x00000008);
//        ints_ = emptyIntList();
//        floats_ = emptyFloatList();
//        longs_ = emptyLongList();
//        doubles_ = emptyDoubleList();
//        strings_ =
//            com.google.protobuf.LazyStringArrayList.emptyList();
//        id_ = 0;
//        name_ = "";
//        email_ = "";
//        kind_ = 0;
//        internalGetMutableMap().clear();
//        end_ = "";
//        return this;
//      }
//
//      @java.lang.Override
//      public com.google.protobuf.Descriptors.Descriptor
//          getDescriptorForType() {
//        return org.redkalex.test.protobuf.PTestBeanOuterClass.internal_static_PTestBean_descriptor;
//      }
//
//      @java.lang.Override
//      public org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean getDefaultInstanceForType() {
//        return org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.getDefaultInstance();
//      }
//
//      @java.lang.Override
//      public org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean build() {
//        org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean result = buildPartial();
//        if (!result.isInitialized()) {
//          throw newUninitializedMessageException(result);
//        }
//        return result;
//      }
//
//      @java.lang.Override
//      public org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean buildPartial() {
//        org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean result = new org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean(this);
//        buildPartialRepeatedFields(result);
//        if (bitField0_ != 0) { buildPartial0(result); }
//        onBuilt();
//        return result;
//      }
//
//      private void buildPartialRepeatedFields(org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean result) {
//        if (((bitField0_ & 0x00000001) != 0)) {
//          bools_.makeImmutable();
//          bitField0_ = (bitField0_ & ~0x00000001);
//        }
//        result.bools_ = bools_;
//        if (((bitField0_ & 0x00000002) != 0)) {
//          bytes_ = java.util.Collections.unmodifiableList(bytes_);
//          bitField0_ = (bitField0_ & ~0x00000002);
//        }
//        result.bytes_ = bytes_;
//        if (((bitField0_ & 0x00000004) != 0)) {
//          chars_.makeImmutable();
//          bitField0_ = (bitField0_ & ~0x00000004);
//        }
//        result.chars_ = chars_;
//        if (entrysBuilder_ == null) {
//          if (((bitField0_ & 0x00000008) != 0)) {
//            entrys_ = java.util.Collections.unmodifiableList(entrys_);
//            bitField0_ = (bitField0_ & ~0x00000008);
//          }
//          result.entrys_ = entrys_;
//        } else {
//          result.entrys_ = entrysBuilder_.build();
//        }
//        if (((bitField0_ & 0x00000010) != 0)) {
//          ints_.makeImmutable();
//          bitField0_ = (bitField0_ & ~0x00000010);
//        }
//        result.ints_ = ints_;
//        if (((bitField0_ & 0x00000020) != 0)) {
//          floats_.makeImmutable();
//          bitField0_ = (bitField0_ & ~0x00000020);
//        }
//        result.floats_ = floats_;
//        if (((bitField0_ & 0x00000040) != 0)) {
//          longs_.makeImmutable();
//          bitField0_ = (bitField0_ & ~0x00000040);
//        }
//        result.longs_ = longs_;
//        if (((bitField0_ & 0x00000080) != 0)) {
//          doubles_.makeImmutable();
//          bitField0_ = (bitField0_ & ~0x00000080);
//        }
//        result.doubles_ = doubles_;
//      }
//
//      private void buildPartial0(org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean result) {
//        int from_bitField0_ = bitField0_;
//        if (((from_bitField0_ & 0x00000100) != 0)) {
//          strings_.makeImmutable();
//          result.strings_ = strings_;
//        }
//        if (((from_bitField0_ & 0x00000200) != 0)) {
//          result.id_ = id_;
//        }
//        if (((from_bitField0_ & 0x00000400) != 0)) {
//          result.name_ = name_;
//        }
//        if (((from_bitField0_ & 0x00000800) != 0)) {
//          result.email_ = email_;
//        }
//        if (((from_bitField0_ & 0x00001000) != 0)) {
//          result.kind_ = kind_;
//        }
//        if (((from_bitField0_ & 0x00002000) != 0)) {
//          result.map_ = internalGetMap();
//          result.map_.makeImmutable();
//        }
//        if (((from_bitField0_ & 0x00004000) != 0)) {
//          result.end_ = end_;
//        }
//      }
//
//      @java.lang.Override
//      public Builder clone() {
//        return super.clone();
//      }
//      @java.lang.Override
//      public Builder setField(
//          com.google.protobuf.Descriptors.FieldDescriptor field,
//          java.lang.Object value) {
//        return super.setField(field, value);
//      }
//      @java.lang.Override
//      public Builder clearField(
//          com.google.protobuf.Descriptors.FieldDescriptor field) {
//        return super.clearField(field);
//      }
//      @java.lang.Override
//      public Builder clearOneof(
//          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
//        return super.clearOneof(oneof);
//      }
//      @java.lang.Override
//      public Builder setRepeatedField(
//          com.google.protobuf.Descriptors.FieldDescriptor field,
//          int index, java.lang.Object value) {
//        return super.setRepeatedField(field, index, value);
//      }
//      @java.lang.Override
//      public Builder addRepeatedField(
//          com.google.protobuf.Descriptors.FieldDescriptor field,
//          java.lang.Object value) {
//        return super.addRepeatedField(field, value);
//      }
//      @java.lang.Override
//      public Builder mergeFrom(com.google.protobuf.Message other) {
//        if (other instanceof org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean) {
//          return mergeFrom((org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean)other);
//        } else {
//          super.mergeFrom(other);
//          return this;
//        }
//      }
//
//      public Builder mergeFrom(org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean other) {
//        if (other == org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.getDefaultInstance()) return this;
//        if (!other.bools_.isEmpty()) {
//          if (bools_.isEmpty()) {
//            bools_ = other.bools_;
//            bitField0_ = (bitField0_ & ~0x00000001);
//          } else {
//            ensureBoolsIsMutable();
//            bools_.addAll(other.bools_);
//          }
//          onChanged();
//        }
//        if (!other.bytes_.isEmpty()) {
//          if (bytes_.isEmpty()) {
//            bytes_ = other.bytes_;
//            bitField0_ = (bitField0_ & ~0x00000002);
//          } else {
//            ensureBytesIsMutable();
//            bytes_.addAll(other.bytes_);
//          }
//          onChanged();
//        }
//        if (!other.chars_.isEmpty()) {
//          if (chars_.isEmpty()) {
//            chars_ = other.chars_;
//            bitField0_ = (bitField0_ & ~0x00000004);
//          } else {
//            ensureCharsIsMutable();
//            chars_.addAll(other.chars_);
//          }
//          onChanged();
//        }
//        if (entrysBuilder_ == null) {
//          if (!other.entrys_.isEmpty()) {
//            if (entrys_.isEmpty()) {
//              entrys_ = other.entrys_;
//              bitField0_ = (bitField0_ & ~0x00000008);
//            } else {
//              ensureEntrysIsMutable();
//              entrys_.addAll(other.entrys_);
//            }
//            onChanged();
//          }
//        } else {
//          if (!other.entrys_.isEmpty()) {
//            if (entrysBuilder_.isEmpty()) {
//              entrysBuilder_.dispose();
//              entrysBuilder_ = null;
//              entrys_ = other.entrys_;
//              bitField0_ = (bitField0_ & ~0x00000008);
//              entrysBuilder_ = 
//                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
//                   getEntrysFieldBuilder() : null;
//            } else {
//              entrysBuilder_.addAllMessages(other.entrys_);
//            }
//          }
//        }
//        if (!other.ints_.isEmpty()) {
//          if (ints_.isEmpty()) {
//            ints_ = other.ints_;
//            bitField0_ = (bitField0_ & ~0x00000010);
//          } else {
//            ensureIntsIsMutable();
//            ints_.addAll(other.ints_);
//          }
//          onChanged();
//        }
//        if (!other.floats_.isEmpty()) {
//          if (floats_.isEmpty()) {
//            floats_ = other.floats_;
//            bitField0_ = (bitField0_ & ~0x00000020);
//          } else {
//            ensureFloatsIsMutable();
//            floats_.addAll(other.floats_);
//          }
//          onChanged();
//        }
//        if (!other.longs_.isEmpty()) {
//          if (longs_.isEmpty()) {
//            longs_ = other.longs_;
//            bitField0_ = (bitField0_ & ~0x00000040);
//          } else {
//            ensureLongsIsMutable();
//            longs_.addAll(other.longs_);
//          }
//          onChanged();
//        }
//        if (!other.doubles_.isEmpty()) {
//          if (doubles_.isEmpty()) {
//            doubles_ = other.doubles_;
//            bitField0_ = (bitField0_ & ~0x00000080);
//          } else {
//            ensureDoublesIsMutable();
//            doubles_.addAll(other.doubles_);
//          }
//          onChanged();
//        }
//        if (!other.strings_.isEmpty()) {
//          if (strings_.isEmpty()) {
//            strings_ = other.strings_;
//            bitField0_ |= 0x00000100;
//          } else {
//            ensureStringsIsMutable();
//            strings_.addAll(other.strings_);
//          }
//          onChanged();
//        }
//        if (other.getId() != 0) {
//          setId(other.getId());
//        }
//        if (!other.getName().isEmpty()) {
//          name_ = other.name_;
//          bitField0_ |= 0x00000400;
//          onChanged();
//        }
//        if (!other.getEmail().isEmpty()) {
//          email_ = other.email_;
//          bitField0_ |= 0x00000800;
//          onChanged();
//        }
//        if (other.kind_ != 0) {
//          setKindValue(other.getKindValue());
//        }
//        internalGetMutableMap().mergeFrom(
//            other.internalGetMap());
//        bitField0_ |= 0x00002000;
//        if (!other.getEnd().isEmpty()) {
//          end_ = other.end_;
//          bitField0_ |= 0x00004000;
//          onChanged();
//        }
//        this.mergeUnknownFields(other.getUnknownFields());
//        onChanged();
//        return this;
//      }
//
//      @java.lang.Override
//      public final boolean isInitialized() {
//        return true;
//      }
//
//      @java.lang.Override
//      public Builder mergeFrom(
//          com.google.protobuf.CodedInputStream input,
//          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
//          throws java.io.IOException {
//        if (extensionRegistry == null) {
//          throw new java.lang.NullPointerException();
//        }
//        try {
//          boolean done = false;
//          while (!done) {
//            int tag = input.readTag();
//            switch (tag) {
//              case 0:
//                done = true;
//                break;
//              case 8: {
//                boolean v = input.readBool();
//                ensureBoolsIsMutable();
//                bools_.addBoolean(v);
//                break;
//              } // case 8
//              case 10: {
//                int length = input.readRawVarint32();
//                int limit = input.pushLimit(length);
//                ensureBoolsIsMutable();
//                while (input.getBytesUntilLimit() > 0) {
//                  bools_.addBoolean(input.readBool());
//                }
//                input.popLimit(limit);
//                break;
//              } // case 10
//              case 18: {
//                com.google.protobuf.ByteString v = input.readBytes();
//                ensureBytesIsMutable();
//                bytes_.add(v);
//                break;
//              } // case 18
//              case 24: {
//                int v = input.readSInt32();
//                ensureCharsIsMutable();
//                chars_.addInt(v);
//                break;
//              } // case 24
//              case 26: {
//                int length = input.readRawVarint32();
//                int limit = input.pushLimit(length);
//                ensureCharsIsMutable();
//                while (input.getBytesUntilLimit() > 0) {
//                  chars_.addInt(input.readSInt32());
//                }
//                input.popLimit(limit);
//                break;
//              } // case 26
//              case 34: {
//                org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry m =
//                    input.readMessage(
//                        org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry.parser(),
//                        extensionRegistry);
//                if (entrysBuilder_ == null) {
//                  ensureEntrysIsMutable();
//                  entrys_.add(m);
//                } else {
//                  entrysBuilder_.addMessage(m);
//                }
//                break;
//              } // case 34
//              case 40: {
//                int v = input.readSInt32();
//                ensureIntsIsMutable();
//                ints_.addInt(v);
//                break;
//              } // case 40
//              case 42: {
//                int length = input.readRawVarint32();
//                int limit = input.pushLimit(length);
//                ensureIntsIsMutable();
//                while (input.getBytesUntilLimit() > 0) {
//                  ints_.addInt(input.readSInt32());
//                }
//                input.popLimit(limit);
//                break;
//              } // case 42
//              case 53: {
//                float v = input.readFloat();
//                ensureFloatsIsMutable();
//                floats_.addFloat(v);
//                break;
//              } // case 53
//              case 50: {
//                int length = input.readRawVarint32();
//                int limit = input.pushLimit(length);
//                ensureFloatsIsMutable();
//                while (input.getBytesUntilLimit() > 0) {
//                  floats_.addFloat(input.readFloat());
//                }
//                input.popLimit(limit);
//                break;
//              } // case 50
//              case 56: {
//                long v = input.readSInt64();
//                ensureLongsIsMutable();
//                longs_.addLong(v);
//                break;
//              } // case 56
//              case 58: {
//                int length = input.readRawVarint32();
//                int limit = input.pushLimit(length);
//                ensureLongsIsMutable();
//                while (input.getBytesUntilLimit() > 0) {
//                  longs_.addLong(input.readSInt64());
//                }
//                input.popLimit(limit);
//                break;
//              } // case 58
//              case 65: {
//                double v = input.readDouble();
//                ensureDoublesIsMutable();
//                doubles_.addDouble(v);
//                break;
//              } // case 65
//              case 66: {
//                int length = input.readRawVarint32();
//                int limit = input.pushLimit(length);
//                ensureDoublesIsMutable();
//                while (input.getBytesUntilLimit() > 0) {
//                  doubles_.addDouble(input.readDouble());
//                }
//                input.popLimit(limit);
//                break;
//              } // case 66
//              case 74: {
//                java.lang.String s = input.readStringRequireUtf8();
//                ensureStringsIsMutable();
//                strings_.add(s);
//                break;
//              } // case 74
//              case 80: {
//                id_ = input.readSInt32();
//                bitField0_ |= 0x00000200;
//                break;
//              } // case 80
//              case 90: {
//                name_ = input.readStringRequireUtf8();
//                bitField0_ |= 0x00000400;
//                break;
//              } // case 90
//              case 98: {
//                email_ = input.readStringRequireUtf8();
//                bitField0_ |= 0x00000800;
//                break;
//              } // case 98
//              case 104: {
//                kind_ = input.readEnum();
//                bitField0_ |= 0x00001000;
//                break;
//              } // case 104
//              case 114: {
//                com.google.protobuf.MapEntry<java.lang.String, java.lang.Integer>
//                map__ = input.readMessage(
//                    MapDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
//                internalGetMutableMap().getMutableMap().put(
//                    map__.getKey(), map__.getValue());
//                bitField0_ |= 0x00002000;
//                break;
//              } // case 114
//              case 122: {
//                end_ = input.readStringRequireUtf8();
//                bitField0_ |= 0x00004000;
//                break;
//              } // case 122
//              default: {
//                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
//                  done = true; // was an endgroup tag
//                }
//                break;
//              } // default:
//            } // switch (tag)
//          } // while (!done)
//        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
//          throw e.unwrapIOException();
//        } finally {
//          onChanged();
//        } // finally
//        return this;
//      }
//      private int bitField0_;
//
//      private com.google.protobuf.Internal.BooleanList bools_ = emptyBooleanList();
//      private void ensureBoolsIsMutable() {
//        if (!((bitField0_ & 0x00000001) != 0)) {
//          bools_ = mutableCopy(bools_);
//          bitField0_ |= 0x00000001;
//        }
//      }
//      /**
//       * <code>repeated bool bools = 1;</code>
//       * @return A list containing the bools.
//       */
//      public java.util.List<java.lang.Boolean>
//          getBoolsList() {
//        return ((bitField0_ & 0x00000001) != 0) ?
//                 java.util.Collections.unmodifiableList(bools_) : bools_;
//      }
//      /**
//       * <code>repeated bool bools = 1;</code>
//       * @return The count of bools.
//       */
//      public int getBoolsCount() {
//        return bools_.size();
//      }
//      /**
//       * <code>repeated bool bools = 1;</code>
//       * @param index The index of the element to return.
//       * @return The bools at the given index.
//       */
//      public boolean getBools(int index) {
//        return bools_.getBoolean(index);
//      }
//      /**
//       * <code>repeated bool bools = 1;</code>
//       * @param index The index to set the value at.
//       * @param value The bools to set.
//       * @return This builder for chaining.
//       */
//      public Builder setBools(
//          int index, boolean value) {
//
//        ensureBoolsIsMutable();
//        bools_.setBoolean(index, value);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated bool bools = 1;</code>
//       * @param value The bools to add.
//       * @return This builder for chaining.
//       */
//      public Builder addBools(boolean value) {
//
//        ensureBoolsIsMutable();
//        bools_.addBoolean(value);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated bool bools = 1;</code>
//       * @param values The bools to add.
//       * @return This builder for chaining.
//       */
//      public Builder addAllBools(
//          java.lang.Iterable<? extends java.lang.Boolean> values) {
//        ensureBoolsIsMutable();
//        com.google.protobuf.AbstractMessageLite.Builder.addAll(
//            values, bools_);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated bool bools = 1;</code>
//       * @return This builder for chaining.
//       */
//      public Builder clearBools() {
//        bools_ = emptyBooleanList();
//        bitField0_ = (bitField0_ & ~0x00000001);
//        onChanged();
//        return this;
//      }
//
//      private java.util.List<com.google.protobuf.ByteString> bytes_ = java.util.Collections.emptyList();
//      private void ensureBytesIsMutable() {
//        if (!((bitField0_ & 0x00000002) != 0)) {
//          bytes_ = new java.util.ArrayList<com.google.protobuf.ByteString>(bytes_);
//          bitField0_ |= 0x00000002;
//        }
//      }
//      /**
//       * <code>repeated bytes bytes = 2;</code>
//       * @return A list containing the bytes.
//       */
//      public java.util.List<com.google.protobuf.ByteString>
//          getBytesList() {
//        return ((bitField0_ & 0x00000002) != 0) ?
//                 java.util.Collections.unmodifiableList(bytes_) : bytes_;
//      }
//      /**
//       * <code>repeated bytes bytes = 2;</code>
//       * @return The count of bytes.
//       */
//      public int getBytesCount() {
//        return bytes_.size();
//      }
//      /**
//       * <code>repeated bytes bytes = 2;</code>
//       * @param index The index of the element to return.
//       * @return The bytes at the given index.
//       */
//      public com.google.protobuf.ByteString getBytes(int index) {
//        return bytes_.get(index);
//      }
//      /**
//       * <code>repeated bytes bytes = 2;</code>
//       * @param index The index to set the value at.
//       * @param value The bytes to set.
//       * @return This builder for chaining.
//       */
//      public Builder setBytes(
//          int index, com.google.protobuf.ByteString value) {
//        if (value == null) { throw new NullPointerException(); }
//        ensureBytesIsMutable();
//        bytes_.set(index, value);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated bytes bytes = 2;</code>
//       * @param value The bytes to add.
//       * @return This builder for chaining.
//       */
//      public Builder addBytes(com.google.protobuf.ByteString value) {
//        if (value == null) { throw new NullPointerException(); }
//        ensureBytesIsMutable();
//        bytes_.add(value);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated bytes bytes = 2;</code>
//       * @param values The bytes to add.
//       * @return This builder for chaining.
//       */
//      public Builder addAllBytes(
//          java.lang.Iterable<? extends com.google.protobuf.ByteString> values) {
//        ensureBytesIsMutable();
//        com.google.protobuf.AbstractMessageLite.Builder.addAll(
//            values, bytes_);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated bytes bytes = 2;</code>
//       * @return This builder for chaining.
//       */
//      public Builder clearBytes() {
//        bytes_ = java.util.Collections.emptyList();
//        bitField0_ = (bitField0_ & ~0x00000002);
//        onChanged();
//        return this;
//      }
//
//      private com.google.protobuf.Internal.IntList chars_ = emptyIntList();
//      private void ensureCharsIsMutable() {
//        if (!((bitField0_ & 0x00000004) != 0)) {
//          chars_ = mutableCopy(chars_);
//          bitField0_ |= 0x00000004;
//        }
//      }
//      /**
//       * <code>repeated sint32 chars = 3;</code>
//       * @return A list containing the chars.
//       */
//      public java.util.List<java.lang.Integer>
//          getCharsList() {
//        return ((bitField0_ & 0x00000004) != 0) ?
//                 java.util.Collections.unmodifiableList(chars_) : chars_;
//      }
//      /**
//       * <code>repeated sint32 chars = 3;</code>
//       * @return The count of chars.
//       */
//      public int getCharsCount() {
//        return chars_.size();
//      }
//      /**
//       * <code>repeated sint32 chars = 3;</code>
//       * @param index The index of the element to return.
//       * @return The chars at the given index.
//       */
//      public int getChars(int index) {
//        return chars_.getInt(index);
//      }
//      /**
//       * <code>repeated sint32 chars = 3;</code>
//       * @param index The index to set the value at.
//       * @param value The chars to set.
//       * @return This builder for chaining.
//       */
//      public Builder setChars(
//          int index, int value) {
//
//        ensureCharsIsMutable();
//        chars_.setInt(index, value);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated sint32 chars = 3;</code>
//       * @param value The chars to add.
//       * @return This builder for chaining.
//       */
//      public Builder addChars(int value) {
//
//        ensureCharsIsMutable();
//        chars_.addInt(value);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated sint32 chars = 3;</code>
//       * @param values The chars to add.
//       * @return This builder for chaining.
//       */
//      public Builder addAllChars(
//          java.lang.Iterable<? extends java.lang.Integer> values) {
//        ensureCharsIsMutable();
//        com.google.protobuf.AbstractMessageLite.Builder.addAll(
//            values, chars_);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated sint32 chars = 3;</code>
//       * @return This builder for chaining.
//       */
//      public Builder clearChars() {
//        chars_ = emptyIntList();
//        bitField0_ = (bitField0_ & ~0x00000004);
//        onChanged();
//        return this;
//      }
//
//      private java.util.List<org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry> entrys_ =
//        java.util.Collections.emptyList();
//      private void ensureEntrysIsMutable() {
//        if (!((bitField0_ & 0x00000008) != 0)) {
//          entrys_ = new java.util.ArrayList<org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry>(entrys_);
//          bitField0_ |= 0x00000008;
//         }
//      }
//
//      private com.google.protobuf.RepeatedFieldBuilderV3<
//          org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry, org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry.Builder, org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntryOrBuilder> entrysBuilder_;
//
//      /**
//       * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//       */
//      public java.util.List<org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry> getEntrysList() {
//        if (entrysBuilder_ == null) {
//          return java.util.Collections.unmodifiableList(entrys_);
//        } else {
//          return entrysBuilder_.getMessageList();
//        }
//      }
//      /**
//       * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//       */
//      public int getEntrysCount() {
//        if (entrysBuilder_ == null) {
//          return entrys_.size();
//        } else {
//          return entrysBuilder_.getCount();
//        }
//      }
//      /**
//       * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//       */
//      public org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry getEntrys(int index) {
//        if (entrysBuilder_ == null) {
//          return entrys_.get(index);
//        } else {
//          return entrysBuilder_.getMessage(index);
//        }
//      }
//      /**
//       * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//       */
//      public Builder setEntrys(
//          int index, org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry value) {
//        if (entrysBuilder_ == null) {
//          if (value == null) {
//            throw new NullPointerException();
//          }
//          ensureEntrysIsMutable();
//          entrys_.set(index, value);
//          onChanged();
//        } else {
//          entrysBuilder_.setMessage(index, value);
//        }
//        return this;
//      }
//      /**
//       * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//       */
//      public Builder setEntrys(
//          int index, org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry.Builder builderForValue) {
//        if (entrysBuilder_ == null) {
//          ensureEntrysIsMutable();
//          entrys_.set(index, builderForValue.build());
//          onChanged();
//        } else {
//          entrysBuilder_.setMessage(index, builderForValue.build());
//        }
//        return this;
//      }
//      /**
//       * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//       */
//      public Builder addEntrys(org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry value) {
//        if (entrysBuilder_ == null) {
//          if (value == null) {
//            throw new NullPointerException();
//          }
//          ensureEntrysIsMutable();
//          entrys_.add(value);
//          onChanged();
//        } else {
//          entrysBuilder_.addMessage(value);
//        }
//        return this;
//      }
//      /**
//       * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//       */
//      public Builder addEntrys(
//          int index, org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry value) {
//        if (entrysBuilder_ == null) {
//          if (value == null) {
//            throw new NullPointerException();
//          }
//          ensureEntrysIsMutable();
//          entrys_.add(index, value);
//          onChanged();
//        } else {
//          entrysBuilder_.addMessage(index, value);
//        }
//        return this;
//      }
//      /**
//       * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//       */
//      public Builder addEntrys(
//          org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry.Builder builderForValue) {
//        if (entrysBuilder_ == null) {
//          ensureEntrysIsMutable();
//          entrys_.add(builderForValue.build());
//          onChanged();
//        } else {
//          entrysBuilder_.addMessage(builderForValue.build());
//        }
//        return this;
//      }
//      /**
//       * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//       */
//      public Builder addEntrys(
//          int index, org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry.Builder builderForValue) {
//        if (entrysBuilder_ == null) {
//          ensureEntrysIsMutable();
//          entrys_.add(index, builderForValue.build());
//          onChanged();
//        } else {
//          entrysBuilder_.addMessage(index, builderForValue.build());
//        }
//        return this;
//      }
//      /**
//       * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//       */
//      public Builder addAllEntrys(
//          java.lang.Iterable<? extends org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry> values) {
//        if (entrysBuilder_ == null) {
//          ensureEntrysIsMutable();
//          com.google.protobuf.AbstractMessageLite.Builder.addAll(
//              values, entrys_);
//          onChanged();
//        } else {
//          entrysBuilder_.addAllMessages(values);
//        }
//        return this;
//      }
//      /**
//       * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//       */
//      public Builder clearEntrys() {
//        if (entrysBuilder_ == null) {
//          entrys_ = java.util.Collections.emptyList();
//          bitField0_ = (bitField0_ & ~0x00000008);
//          onChanged();
//        } else {
//          entrysBuilder_.clear();
//        }
//        return this;
//      }
//      /**
//       * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//       */
//      public Builder removeEntrys(int index) {
//        if (entrysBuilder_ == null) {
//          ensureEntrysIsMutable();
//          entrys_.remove(index);
//          onChanged();
//        } else {
//          entrysBuilder_.remove(index);
//        }
//        return this;
//      }
//      /**
//       * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//       */
//      public org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry.Builder getEntrysBuilder(
//          int index) {
//        return getEntrysFieldBuilder().getBuilder(index);
//      }
//      /**
//       * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//       */
//      public org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntryOrBuilder getEntrysOrBuilder(
//          int index) {
//        if (entrysBuilder_ == null) {
//          return entrys_.get(index);  } else {
//          return entrysBuilder_.getMessageOrBuilder(index);
//        }
//      }
//      /**
//       * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//       */
//      public java.util.List<? extends org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntryOrBuilder> 
//           getEntrysOrBuilderList() {
//        if (entrysBuilder_ != null) {
//          return entrysBuilder_.getMessageOrBuilderList();
//        } else {
//          return java.util.Collections.unmodifiableList(entrys_);
//        }
//      }
//      /**
//       * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//       */
//      public org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry.Builder addEntrysBuilder() {
//        return getEntrysFieldBuilder().addBuilder(
//            org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry.getDefaultInstance());
//      }
//      /**
//       * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//       */
//      public org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry.Builder addEntrysBuilder(
//          int index) {
//        return getEntrysFieldBuilder().addBuilder(
//            index, org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry.getDefaultInstance());
//      }
//      /**
//       * <code>repeated .PTestBean.PTestEntry entrys = 4;</code>
//       */
//      public java.util.List<org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry.Builder> 
//           getEntrysBuilderList() {
//        return getEntrysFieldBuilder().getBuilderList();
//      }
//      private com.google.protobuf.RepeatedFieldBuilderV3<
//          org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry, org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry.Builder, org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntryOrBuilder> 
//          getEntrysFieldBuilder() {
//        if (entrysBuilder_ == null) {
//          entrysBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
//              org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry, org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntry.Builder, org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.PTestEntryOrBuilder>(
//                  entrys_,
//                  ((bitField0_ & 0x00000008) != 0),
//                  getParentForChildren(),
//                  isClean());
//          entrys_ = null;
//        }
//        return entrysBuilder_;
//      }
//
//      private com.google.protobuf.Internal.IntList ints_ = emptyIntList();
//      private void ensureIntsIsMutable() {
//        if (!((bitField0_ & 0x00000010) != 0)) {
//          ints_ = mutableCopy(ints_);
//          bitField0_ |= 0x00000010;
//        }
//      }
//      /**
//       * <code>repeated sint32 ints = 5;</code>
//       * @return A list containing the ints.
//       */
//      public java.util.List<java.lang.Integer>
//          getIntsList() {
//        return ((bitField0_ & 0x00000010) != 0) ?
//                 java.util.Collections.unmodifiableList(ints_) : ints_;
//      }
//      /**
//       * <code>repeated sint32 ints = 5;</code>
//       * @return The count of ints.
//       */
//      public int getIntsCount() {
//        return ints_.size();
//      }
//      /**
//       * <code>repeated sint32 ints = 5;</code>
//       * @param index The index of the element to return.
//       * @return The ints at the given index.
//       */
//      public int getInts(int index) {
//        return ints_.getInt(index);
//      }
//      /**
//       * <code>repeated sint32 ints = 5;</code>
//       * @param index The index to set the value at.
//       * @param value The ints to set.
//       * @return This builder for chaining.
//       */
//      public Builder setInts(
//          int index, int value) {
//
//        ensureIntsIsMutable();
//        ints_.setInt(index, value);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated sint32 ints = 5;</code>
//       * @param value The ints to add.
//       * @return This builder for chaining.
//       */
//      public Builder addInts(int value) {
//
//        ensureIntsIsMutable();
//        ints_.addInt(value);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated sint32 ints = 5;</code>
//       * @param values The ints to add.
//       * @return This builder for chaining.
//       */
//      public Builder addAllInts(
//          java.lang.Iterable<? extends java.lang.Integer> values) {
//        ensureIntsIsMutable();
//        com.google.protobuf.AbstractMessageLite.Builder.addAll(
//            values, ints_);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated sint32 ints = 5;</code>
//       * @return This builder for chaining.
//       */
//      public Builder clearInts() {
//        ints_ = emptyIntList();
//        bitField0_ = (bitField0_ & ~0x00000010);
//        onChanged();
//        return this;
//      }
//
//      private com.google.protobuf.Internal.FloatList floats_ = emptyFloatList();
//      private void ensureFloatsIsMutable() {
//        if (!((bitField0_ & 0x00000020) != 0)) {
//          floats_ = mutableCopy(floats_);
//          bitField0_ |= 0x00000020;
//        }
//      }
//      /**
//       * <code>repeated float floats = 6;</code>
//       * @return A list containing the floats.
//       */
//      public java.util.List<java.lang.Float>
//          getFloatsList() {
//        return ((bitField0_ & 0x00000020) != 0) ?
//                 java.util.Collections.unmodifiableList(floats_) : floats_;
//      }
//      /**
//       * <code>repeated float floats = 6;</code>
//       * @return The count of floats.
//       */
//      public int getFloatsCount() {
//        return floats_.size();
//      }
//      /**
//       * <code>repeated float floats = 6;</code>
//       * @param index The index of the element to return.
//       * @return The floats at the given index.
//       */
//      public float getFloats(int index) {
//        return floats_.getFloat(index);
//      }
//      /**
//       * <code>repeated float floats = 6;</code>
//       * @param index The index to set the value at.
//       * @param value The floats to set.
//       * @return This builder for chaining.
//       */
//      public Builder setFloats(
//          int index, float value) {
//
//        ensureFloatsIsMutable();
//        floats_.setFloat(index, value);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated float floats = 6;</code>
//       * @param value The floats to add.
//       * @return This builder for chaining.
//       */
//      public Builder addFloats(float value) {
//
//        ensureFloatsIsMutable();
//        floats_.addFloat(value);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated float floats = 6;</code>
//       * @param values The floats to add.
//       * @return This builder for chaining.
//       */
//      public Builder addAllFloats(
//          java.lang.Iterable<? extends java.lang.Float> values) {
//        ensureFloatsIsMutable();
//        com.google.protobuf.AbstractMessageLite.Builder.addAll(
//            values, floats_);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated float floats = 6;</code>
//       * @return This builder for chaining.
//       */
//      public Builder clearFloats() {
//        floats_ = emptyFloatList();
//        bitField0_ = (bitField0_ & ~0x00000020);
//        onChanged();
//        return this;
//      }
//
//      private com.google.protobuf.Internal.LongList longs_ = emptyLongList();
//      private void ensureLongsIsMutable() {
//        if (!((bitField0_ & 0x00000040) != 0)) {
//          longs_ = mutableCopy(longs_);
//          bitField0_ |= 0x00000040;
//        }
//      }
//      /**
//       * <code>repeated sint64 longs = 7;</code>
//       * @return A list containing the longs.
//       */
//      public java.util.List<java.lang.Long>
//          getLongsList() {
//        return ((bitField0_ & 0x00000040) != 0) ?
//                 java.util.Collections.unmodifiableList(longs_) : longs_;
//      }
//      /**
//       * <code>repeated sint64 longs = 7;</code>
//       * @return The count of longs.
//       */
//      public int getLongsCount() {
//        return longs_.size();
//      }
//      /**
//       * <code>repeated sint64 longs = 7;</code>
//       * @param index The index of the element to return.
//       * @return The longs at the given index.
//       */
//      public long getLongs(int index) {
//        return longs_.getLong(index);
//      }
//      /**
//       * <code>repeated sint64 longs = 7;</code>
//       * @param index The index to set the value at.
//       * @param value The longs to set.
//       * @return This builder for chaining.
//       */
//      public Builder setLongs(
//          int index, long value) {
//
//        ensureLongsIsMutable();
//        longs_.setLong(index, value);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated sint64 longs = 7;</code>
//       * @param value The longs to add.
//       * @return This builder for chaining.
//       */
//      public Builder addLongs(long value) {
//
//        ensureLongsIsMutable();
//        longs_.addLong(value);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated sint64 longs = 7;</code>
//       * @param values The longs to add.
//       * @return This builder for chaining.
//       */
//      public Builder addAllLongs(
//          java.lang.Iterable<? extends java.lang.Long> values) {
//        ensureLongsIsMutable();
//        com.google.protobuf.AbstractMessageLite.Builder.addAll(
//            values, longs_);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated sint64 longs = 7;</code>
//       * @return This builder for chaining.
//       */
//      public Builder clearLongs() {
//        longs_ = emptyLongList();
//        bitField0_ = (bitField0_ & ~0x00000040);
//        onChanged();
//        return this;
//      }
//
//      private com.google.protobuf.Internal.DoubleList doubles_ = emptyDoubleList();
//      private void ensureDoublesIsMutable() {
//        if (!((bitField0_ & 0x00000080) != 0)) {
//          doubles_ = mutableCopy(doubles_);
//          bitField0_ |= 0x00000080;
//        }
//      }
//      /**
//       * <code>repeated double doubles = 8;</code>
//       * @return A list containing the doubles.
//       */
//      public java.util.List<java.lang.Double>
//          getDoublesList() {
//        return ((bitField0_ & 0x00000080) != 0) ?
//                 java.util.Collections.unmodifiableList(doubles_) : doubles_;
//      }
//      /**
//       * <code>repeated double doubles = 8;</code>
//       * @return The count of doubles.
//       */
//      public int getDoublesCount() {
//        return doubles_.size();
//      }
//      /**
//       * <code>repeated double doubles = 8;</code>
//       * @param index The index of the element to return.
//       * @return The doubles at the given index.
//       */
//      public double getDoubles(int index) {
//        return doubles_.getDouble(index);
//      }
//      /**
//       * <code>repeated double doubles = 8;</code>
//       * @param index The index to set the value at.
//       * @param value The doubles to set.
//       * @return This builder for chaining.
//       */
//      public Builder setDoubles(
//          int index, double value) {
//
//        ensureDoublesIsMutable();
//        doubles_.setDouble(index, value);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated double doubles = 8;</code>
//       * @param value The doubles to add.
//       * @return This builder for chaining.
//       */
//      public Builder addDoubles(double value) {
//
//        ensureDoublesIsMutable();
//        doubles_.addDouble(value);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated double doubles = 8;</code>
//       * @param values The doubles to add.
//       * @return This builder for chaining.
//       */
//      public Builder addAllDoubles(
//          java.lang.Iterable<? extends java.lang.Double> values) {
//        ensureDoublesIsMutable();
//        com.google.protobuf.AbstractMessageLite.Builder.addAll(
//            values, doubles_);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated double doubles = 8;</code>
//       * @return This builder for chaining.
//       */
//      public Builder clearDoubles() {
//        doubles_ = emptyDoubleList();
//        bitField0_ = (bitField0_ & ~0x00000080);
//        onChanged();
//        return this;
//      }
//
//      private com.google.protobuf.LazyStringArrayList strings_ =
//          com.google.protobuf.LazyStringArrayList.emptyList();
//      private void ensureStringsIsMutable() {
//        if (!strings_.isModifiable()) {
//          strings_ = new com.google.protobuf.LazyStringArrayList(strings_);
//        }
//        bitField0_ |= 0x00000100;
//      }
//      /**
//       * <code>repeated string strings = 9;</code>
//       * @return A list containing the strings.
//       */
//      public com.google.protobuf.ProtocolStringList
//          getStringsList() {
//        strings_.makeImmutable();
//        return strings_;
//      }
//      /**
//       * <code>repeated string strings = 9;</code>
//       * @return The count of strings.
//       */
//      public int getStringsCount() {
//        return strings_.size();
//      }
//      /**
//       * <code>repeated string strings = 9;</code>
//       * @param index The index of the element to return.
//       * @return The strings at the given index.
//       */
//      public java.lang.String getStrings(int index) {
//        return strings_.get(index);
//      }
//      /**
//       * <code>repeated string strings = 9;</code>
//       * @param index The index of the value to return.
//       * @return The bytes of the strings at the given index.
//       */
//      public com.google.protobuf.ByteString
//          getStringsBytes(int index) {
//        return strings_.getByteString(index);
//      }
//      /**
//       * <code>repeated string strings = 9;</code>
//       * @param index The index to set the value at.
//       * @param value The strings to set.
//       * @return This builder for chaining.
//       */
//      public Builder setStrings(
//          int index, java.lang.String value) {
//        if (value == null) { throw new NullPointerException(); }
//        ensureStringsIsMutable();
//        strings_.set(index, value);
//        bitField0_ |= 0x00000100;
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated string strings = 9;</code>
//       * @param value The strings to add.
//       * @return This builder for chaining.
//       */
//      public Builder addStrings(
//          java.lang.String value) {
//        if (value == null) { throw new NullPointerException(); }
//        ensureStringsIsMutable();
//        strings_.add(value);
//        bitField0_ |= 0x00000100;
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated string strings = 9;</code>
//       * @param values The strings to add.
//       * @return This builder for chaining.
//       */
//      public Builder addAllStrings(
//          java.lang.Iterable<java.lang.String> values) {
//        ensureStringsIsMutable();
//        com.google.protobuf.AbstractMessageLite.Builder.addAll(
//            values, strings_);
//        bitField0_ |= 0x00000100;
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated string strings = 9;</code>
//       * @return This builder for chaining.
//       */
//      public Builder clearStrings() {
//        strings_ =
//          com.google.protobuf.LazyStringArrayList.emptyList();
//        bitField0_ = (bitField0_ & ~0x00000100);;
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>repeated string strings = 9;</code>
//       * @param value The bytes of the strings to add.
//       * @return This builder for chaining.
//       */
//      public Builder addStringsBytes(
//          com.google.protobuf.ByteString value) {
//        if (value == null) { throw new NullPointerException(); }
//        checkByteStringIsUtf8(value);
//        ensureStringsIsMutable();
//        strings_.add(value);
//        bitField0_ |= 0x00000100;
//        onChanged();
//        return this;
//      }
//
//      private int id_ ;
//      /**
//       * <code>sint32 id = 10;</code>
//       * @return The id.
//       */
//      @java.lang.Override
//      public int getId() {
//        return id_;
//      }
//      /**
//       * <code>sint32 id = 10;</code>
//       * @param value The id to set.
//       * @return This builder for chaining.
//       */
//      public Builder setId(int value) {
//
//        id_ = value;
//        bitField0_ |= 0x00000200;
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>sint32 id = 10;</code>
//       * @return This builder for chaining.
//       */
//      public Builder clearId() {
//        bitField0_ = (bitField0_ & ~0x00000200);
//        id_ = 0;
//        onChanged();
//        return this;
//      }
//
//      private java.lang.Object name_ = "";
//      /**
//       * <code>string name = 11;</code>
//       * @return The name.
//       */
//      public java.lang.String getName() {
//        java.lang.Object ref = name_;
//        if (!(ref instanceof java.lang.String)) {
//          com.google.protobuf.ByteString bs =
//              (com.google.protobuf.ByteString) ref;
//          java.lang.String s = bs.toStringUtf8();
//          name_ = s;
//          return s;
//        } else {
//          return (java.lang.String) ref;
//        }
//      }
//      /**
//       * <code>string name = 11;</code>
//       * @return The bytes for name.
//       */
//      public com.google.protobuf.ByteString
//          getNameBytes() {
//        java.lang.Object ref = name_;
//        if (ref instanceof String) {
//          com.google.protobuf.ByteString b = 
//              com.google.protobuf.ByteString.copyFromUtf8(
//                  (java.lang.String) ref);
//          name_ = b;
//          return b;
//        } else {
//          return (com.google.protobuf.ByteString) ref;
//        }
//      }
//      /**
//       * <code>string name = 11;</code>
//       * @param value The name to set.
//       * @return This builder for chaining.
//       */
//      public Builder setName(
//          java.lang.String value) {
//        if (value == null) { throw new NullPointerException(); }
//        name_ = value;
//        bitField0_ |= 0x00000400;
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>string name = 11;</code>
//       * @return This builder for chaining.
//       */
//      public Builder clearName() {
//        name_ = getDefaultInstance().getName();
//        bitField0_ = (bitField0_ & ~0x00000400);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>string name = 11;</code>
//       * @param value The bytes for name to set.
//       * @return This builder for chaining.
//       */
//      public Builder setNameBytes(
//          com.google.protobuf.ByteString value) {
//        if (value == null) { throw new NullPointerException(); }
//        checkByteStringIsUtf8(value);
//        name_ = value;
//        bitField0_ |= 0x00000400;
//        onChanged();
//        return this;
//      }
//
//      private java.lang.Object email_ = "";
//      /**
//       * <code>string email = 12;</code>
//       * @return The email.
//       */
//      public java.lang.String getEmail() {
//        java.lang.Object ref = email_;
//        if (!(ref instanceof java.lang.String)) {
//          com.google.protobuf.ByteString bs =
//              (com.google.protobuf.ByteString) ref;
//          java.lang.String s = bs.toStringUtf8();
//          email_ = s;
//          return s;
//        } else {
//          return (java.lang.String) ref;
//        }
//      }
//      /**
//       * <code>string email = 12;</code>
//       * @return The bytes for email.
//       */
//      public com.google.protobuf.ByteString
//          getEmailBytes() {
//        java.lang.Object ref = email_;
//        if (ref instanceof String) {
//          com.google.protobuf.ByteString b = 
//              com.google.protobuf.ByteString.copyFromUtf8(
//                  (java.lang.String) ref);
//          email_ = b;
//          return b;
//        } else {
//          return (com.google.protobuf.ByteString) ref;
//        }
//      }
//      /**
//       * <code>string email = 12;</code>
//       * @param value The email to set.
//       * @return This builder for chaining.
//       */
//      public Builder setEmail(
//          java.lang.String value) {
//        if (value == null) { throw new NullPointerException(); }
//        email_ = value;
//        bitField0_ |= 0x00000800;
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>string email = 12;</code>
//       * @return This builder for chaining.
//       */
//      public Builder clearEmail() {
//        email_ = getDefaultInstance().getEmail();
//        bitField0_ = (bitField0_ & ~0x00000800);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>string email = 12;</code>
//       * @param value The bytes for email to set.
//       * @return This builder for chaining.
//       */
//      public Builder setEmailBytes(
//          com.google.protobuf.ByteString value) {
//        if (value == null) { throw new NullPointerException(); }
//        checkByteStringIsUtf8(value);
//        email_ = value;
//        bitField0_ |= 0x00000800;
//        onChanged();
//        return this;
//      }
//
//      private int kind_ = 0;
//      /**
//       * <code>.PTestBean.Kind kind = 13;</code>
//       * @return The enum numeric value on the wire for kind.
//       */
//      @java.lang.Override public int getKindValue() {
//        return kind_;
//      }
//      /**
//       * <code>.PTestBean.Kind kind = 13;</code>
//       * @param value The enum numeric value on the wire for kind to set.
//       * @return This builder for chaining.
//       */
//      public Builder setKindValue(int value) {
//        kind_ = value;
//        bitField0_ |= 0x00001000;
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>.PTestBean.Kind kind = 13;</code>
//       * @return The kind.
//       */
//      @java.lang.Override
//      public org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.Kind getKind() {
//        org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.Kind result = org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.Kind.forNumber(kind_);
//        return result == null ? org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.Kind.UNRECOGNIZED : result;
//      }
//      /**
//       * <code>.PTestBean.Kind kind = 13;</code>
//       * @param value The kind to set.
//       * @return This builder for chaining.
//       */
//      public Builder setKind(org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean.Kind value) {
//        if (value == null) {
//          throw new NullPointerException();
//        }
//        bitField0_ |= 0x00001000;
//        kind_ = value.getNumber();
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>.PTestBean.Kind kind = 13;</code>
//       * @return This builder for chaining.
//       */
//      public Builder clearKind() {
//        bitField0_ = (bitField0_ & ~0x00001000);
//        kind_ = 0;
//        onChanged();
//        return this;
//      }
//
//      private com.google.protobuf.MapField<
//          java.lang.String, java.lang.Integer> map_;
//      private com.google.protobuf.MapField<java.lang.String, java.lang.Integer>
//          internalGetMap() {
//        if (map_ == null) {
//          return com.google.protobuf.MapField.emptyMapField(
//              MapDefaultEntryHolder.defaultEntry);
//        }
//        return map_;
//      }
//      private com.google.protobuf.MapField<java.lang.String, java.lang.Integer>
//          internalGetMutableMap() {
//        if (map_ == null) {
//          map_ = com.google.protobuf.MapField.newMapField(
//              MapDefaultEntryHolder.defaultEntry);
//        }
//        if (!map_.isMutable()) {
//          map_ = map_.copy();
//        }
//        bitField0_ |= 0x00002000;
//        onChanged();
//        return map_;
//      }
//      public int getMapCount() {
//        return internalGetMap().getMap().size();
//      }
//      /**
//       * <code>map&lt;string, sint32&gt; map = 14;</code>
//       */
//      @java.lang.Override
//      public boolean containsMap(
//          java.lang.String key) {
//        if (key == null) { throw new NullPointerException("map key"); }
//        return internalGetMap().getMap().containsKey(key);
//      }
//      /**
//       * Use {@link #getMapMap()} instead.
//       */
//      @java.lang.Override
//      @java.lang.Deprecated
//      public java.util.Map<java.lang.String, java.lang.Integer> getMap() {
//        return getMapMap();
//      }
//      /**
//       * <code>map&lt;string, sint32&gt; map = 14;</code>
//       */
//      @java.lang.Override
//      public java.util.Map<java.lang.String, java.lang.Integer> getMapMap() {
//        return internalGetMap().getMap();
//      }
//      /**
//       * <code>map&lt;string, sint32&gt; map = 14;</code>
//       */
//      @java.lang.Override
//      public int getMapOrDefault(
//          java.lang.String key,
//          int defaultValue) {
//        if (key == null) { throw new NullPointerException("map key"); }
//        java.util.Map<java.lang.String, java.lang.Integer> map =
//            internalGetMap().getMap();
//        return map.containsKey(key) ? map.get(key) : defaultValue;
//      }
//      /**
//       * <code>map&lt;string, sint32&gt; map = 14;</code>
//       */
//      @java.lang.Override
//      public int getMapOrThrow(
//          java.lang.String key) {
//        if (key == null) { throw new NullPointerException("map key"); }
//        java.util.Map<java.lang.String, java.lang.Integer> map =
//            internalGetMap().getMap();
//        if (!map.containsKey(key)) {
//          throw new java.lang.IllegalArgumentException();
//        }
//        return map.get(key);
//      }
//      public Builder clearMap() {
//        bitField0_ = (bitField0_ & ~0x00002000);
//        internalGetMutableMap().getMutableMap()
//            .clear();
//        return this;
//      }
//      /**
//       * <code>map&lt;string, sint32&gt; map = 14;</code>
//       */
//      public Builder removeMap(
//          java.lang.String key) {
//        if (key == null) { throw new NullPointerException("map key"); }
//        internalGetMutableMap().getMutableMap()
//            .remove(key);
//        return this;
//      }
//      /**
//       * Use alternate mutation accessors instead.
//       */
//      @java.lang.Deprecated
//      public java.util.Map<java.lang.String, java.lang.Integer>
//          getMutableMap() {
//        bitField0_ |= 0x00002000;
//        return internalGetMutableMap().getMutableMap();
//      }
//      /**
//       * <code>map&lt;string, sint32&gt; map = 14;</code>
//       */
//      public Builder putMap(
//          java.lang.String key,
//          int value) {
//        if (key == null) { throw new NullPointerException("map key"); }
//
//        internalGetMutableMap().getMutableMap()
//            .put(key, value);
//        bitField0_ |= 0x00002000;
//        return this;
//      }
//      /**
//       * <code>map&lt;string, sint32&gt; map = 14;</code>
//       */
//      public Builder putAllMap(
//          java.util.Map<java.lang.String, java.lang.Integer> values) {
//        internalGetMutableMap().getMutableMap()
//            .putAll(values);
//        bitField0_ |= 0x00002000;
//        return this;
//      }
//
//      private java.lang.Object end_ = "";
//      /**
//       * <code>string end = 15;</code>
//       * @return The end.
//       */
//      public java.lang.String getEnd() {
//        java.lang.Object ref = end_;
//        if (!(ref instanceof java.lang.String)) {
//          com.google.protobuf.ByteString bs =
//              (com.google.protobuf.ByteString) ref;
//          java.lang.String s = bs.toStringUtf8();
//          end_ = s;
//          return s;
//        } else {
//          return (java.lang.String) ref;
//        }
//      }
//      /**
//       * <code>string end = 15;</code>
//       * @return The bytes for end.
//       */
//      public com.google.protobuf.ByteString
//          getEndBytes() {
//        java.lang.Object ref = end_;
//        if (ref instanceof String) {
//          com.google.protobuf.ByteString b = 
//              com.google.protobuf.ByteString.copyFromUtf8(
//                  (java.lang.String) ref);
//          end_ = b;
//          return b;
//        } else {
//          return (com.google.protobuf.ByteString) ref;
//        }
//      }
//      /**
//       * <code>string end = 15;</code>
//       * @param value The end to set.
//       * @return This builder for chaining.
//       */
//      public Builder setEnd(
//          java.lang.String value) {
//        if (value == null) { throw new NullPointerException(); }
//        end_ = value;
//        bitField0_ |= 0x00004000;
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>string end = 15;</code>
//       * @return This builder for chaining.
//       */
//      public Builder clearEnd() {
//        end_ = getDefaultInstance().getEnd();
//        bitField0_ = (bitField0_ & ~0x00004000);
//        onChanged();
//        return this;
//      }
//      /**
//       * <code>string end = 15;</code>
//       * @param value The bytes for end to set.
//       * @return This builder for chaining.
//       */
//      public Builder setEndBytes(
//          com.google.protobuf.ByteString value) {
//        if (value == null) { throw new NullPointerException(); }
//        checkByteStringIsUtf8(value);
//        end_ = value;
//        bitField0_ |= 0x00004000;
//        onChanged();
//        return this;
//      }
//      @java.lang.Override
//      public final Builder setUnknownFields(
//          final com.google.protobuf.UnknownFieldSet unknownFields) {
//        return super.setUnknownFields(unknownFields);
//      }
//
//      @java.lang.Override
//      public final Builder mergeUnknownFields(
//          final com.google.protobuf.UnknownFieldSet unknownFields) {
//        return super.mergeUnknownFields(unknownFields);
//      }
//
//
//      // @@protoc_insertion_point(builder_scope:PTestBean)
//    }
//
//    // @@protoc_insertion_point(class_scope:PTestBean)
//    private static final org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean DEFAULT_INSTANCE;
//    static {
//      DEFAULT_INSTANCE = new org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean();
//    }
//
//    public static org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean getDefaultInstance() {
//      return DEFAULT_INSTANCE;
//    }
//
//    private static final com.google.protobuf.Parser<PTestBean>
//        PARSER = new com.google.protobuf.AbstractParser<PTestBean>() {
//      @java.lang.Override
//      public PTestBean parsePartialFrom(
//          com.google.protobuf.CodedInputStream input,
//          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
//          throws com.google.protobuf.InvalidProtocolBufferException {
//        Builder builder = newBuilder();
//        try {
//          builder.mergeFrom(input, extensionRegistry);
//        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
//          throw e.setUnfinishedMessage(builder.buildPartial());
//        } catch (com.google.protobuf.UninitializedMessageException e) {
//          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
//        } catch (java.io.IOException e) {
//          throw new com.google.protobuf.InvalidProtocolBufferException(e)
//              .setUnfinishedMessage(builder.buildPartial());
//        }
//        return builder.buildPartial();
//      }
//    };
//
//    public static com.google.protobuf.Parser<PTestBean> parser() {
//      return PARSER;
//    }
//
//    @java.lang.Override
//    public com.google.protobuf.Parser<PTestBean> getParserForType() {
//      return PARSER;
//    }
//
//    @java.lang.Override
//    public org.redkalex.test.protobuf.PTestBeanOuterClass.PTestBean getDefaultInstanceForType() {
//      return DEFAULT_INSTANCE;
//    }
//
//  }
//
//  private static final com.google.protobuf.Descriptors.Descriptor
//    internal_static_PTestBean_descriptor;
//  private static final 
//    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
//      internal_static_PTestBean_fieldAccessorTable;
//  private static final com.google.protobuf.Descriptors.Descriptor
//    internal_static_PTestBean_PTestEntry_descriptor;
//  private static final 
//    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
//      internal_static_PTestBean_PTestEntry_fieldAccessorTable;
//  private static final com.google.protobuf.Descriptors.Descriptor
//    internal_static_PTestBean_MapEntry_descriptor;
//  private static final 
//    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
//      internal_static_PTestBean_MapEntry_fieldAccessorTable;
//
//  public static com.google.protobuf.Descriptors.FileDescriptor
//      getDescriptor() {
//    return descriptor;
//  }
//  private static  com.google.protobuf.Descriptors.FileDescriptor
//      descriptor;
//  static {
//    java.lang.String[] descriptorData = {
//      "\n8src/test/java/org/redkalex/test/protob" +
//      "uf/PTestBean.proto\"\301\003\n\tPTestBean\022\r\n\005bool" +
//      "s\030\001 \003(\010\022\r\n\005bytes\030\002 \003(\014\022\r\n\005chars\030\003 \003(\021\022%\n" +
//      "\006entrys\030\004 \003(\0132\025.PTestBean.PTestEntry\022\014\n\004" +
//      "ints\030\005 \003(\021\022\016\n\006floats\030\006 \003(\002\022\r\n\005longs\030\007 \003(" +
//      "\022\022\017\n\007doubles\030\010 \003(\001\022\017\n\007strings\030\t \003(\t\022\n\n\002i" +
//      "d\030\n \001(\021\022\014\n\004name\030\013 \001(\t\022\r\n\005email\030\014 \001(\t\022\035\n\004" +
//      "kind\030\r \001(\0162\017.PTestBean.Kind\022 \n\003map\030\016 \003(\013" +
//      "2\023.PTestBean.MapEntry\022\013\n\003end\030\017 \001(\t\032I\n\nPT" +
//      "estEntry\022\r\n\005bools\030\001 \003(\010\022\r\n\005bytes\030\002 \003(\014\022\r" +
//      "\n\005chars\030\003 \003(\021\022\016\n\006shorts\030\004 \003(\021\032*\n\010MapEntr" +
//      "y\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\021:\0028\001\"#\n\004Kin" +
//      "d\022\007\n\003ONE\020\000\022\007\n\003TWO\020\001\022\t\n\005THREE\020\002B\034\n\032org.re" +
//      "dkalex.test.protobufb\006proto3"
//    };
//    descriptor = com.google.protobuf.Descriptors.FileDescriptor
//      .internalBuildGeneratedFileFrom(descriptorData,
//        new com.google.protobuf.Descriptors.FileDescriptor[] {
//        });
//    internal_static_PTestBean_descriptor =
//      getDescriptor().getMessageTypes().get(0);
//    internal_static_PTestBean_fieldAccessorTable = new
//      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
//        internal_static_PTestBean_descriptor,
//        new java.lang.String[] { "Bools", "Bytes", "Chars", "Entrys", "Ints", "Floats", "Longs", "Doubles", "Strings", "Id", "Name", "Email", "Kind", "Map", "End", });
//    internal_static_PTestBean_PTestEntry_descriptor =
//      internal_static_PTestBean_descriptor.getNestedTypes().get(0);
//    internal_static_PTestBean_PTestEntry_fieldAccessorTable = new
//      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
//        internal_static_PTestBean_PTestEntry_descriptor,
//        new java.lang.String[] { "Bools", "Bytes", "Chars", "Shorts", });
//    internal_static_PTestBean_MapEntry_descriptor =
//      internal_static_PTestBean_descriptor.getNestedTypes().get(1);
//    internal_static_PTestBean_MapEntry_fieldAccessorTable = new
//      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
//        internal_static_PTestBean_MapEntry_descriptor,
//        new java.lang.String[] { "Key", "Value", });
//  }
//
//  // @@protoc_insertion_point(outer_class_scope)
//}
