content: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: test.proto
  
  package com.alibaba.wasp.ipc.protobuf.generated;
  
  public final class TestProtos {
    private TestProtos() {}
    public static void registerAllExtensions(
        com.google.protobuf.ExtensionRegistry registry) {
    }
    public interface EmptyRequestProtoOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
    }
    public static final class EmptyRequestProto extends
        com.google.protobuf.GeneratedMessage
        implements EmptyRequestProtoOrBuilder {
      // Use EmptyRequestProto.newBuilder() to construct.
      private EmptyRequestProto(Builder builder) {
        super(builder);
      }
      private EmptyRequestProto(boolean noInit) {}
      
      private static final EmptyRequestProto defaultInstance;
      public static EmptyRequestProto getDefaultInstance() {
        return defaultInstance;
      }
      
      public EmptyRequestProto getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.internal_static_EmptyRequestProto_descriptor;
      }
  
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.internal_static_EmptyRequestProto_fieldAccessorTable;
      }
  
      private void initFields() {
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
  
        memoizedIsInitialized = 1;
        return true;
      }
  
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        getUnknownFields().writeTo(output);
      }
  
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
  
        size = 0;
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
  
      private static final long serialVersionUID = 0L;
      @Override
      protected Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
  
      @Override
      public boolean equals(final Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto other = (com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto) obj;
  
        boolean result = true;
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
  
      @Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
  
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
  
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
  
      @Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProtoOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.internal_static_EmptyRequestProto_descriptor;
        }
  
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.internal_static_EmptyRequestProto_fieldAccessorTable;
        }
  
        // Construct using com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }
  
        public Builder clear() {
          super.clear();
          return this;
        }
  
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
  
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto.getDescriptor();
        }
  
        public com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto getDefaultInstanceForType() {
          return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto.getDefaultInstance();
        }
  
        public com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto build() {
          com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        private com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
  
        public com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto buildPartial() {
          com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto result = new com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto(this);
          onBuilt();
          return result;
        }
  
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto) {
            return mergeFrom((com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto other) {
          if (other == com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto.getDefaultInstance()) return this;
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
  
        public final boolean isInitialized() {
          return true;
        }
  
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
            }
          }
        }
  
  
        // @@protoc_insertion_point(builder_scope:EmptyRequestProto)
      }
  
      static {
        defaultInstance = new EmptyRequestProto(true);
        defaultInstance.initFields();
      }
  
      // @@protoc_insertion_point(class_scope:EmptyRequestProto)
    }
  
    public interface EmptyResponseProtoOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
    }
    public static final class EmptyResponseProto extends
        com.google.protobuf.GeneratedMessage
        implements EmptyResponseProtoOrBuilder {
      // Use EmptyResponseProto.newBuilder() to construct.
      private EmptyResponseProto(Builder builder) {
        super(builder);
      }
      private EmptyResponseProto(boolean noInit) {}
  
      private static final EmptyResponseProto defaultInstance;
      public static EmptyResponseProto getDefaultInstance() {
        return defaultInstance;
      }
  
      public EmptyResponseProto getDefaultInstanceForType() {
        return defaultInstance;
      }
  
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.internal_static_EmptyResponseProto_descriptor;
      }
  
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.internal_static_EmptyResponseProto_fieldAccessorTable;
      }
  
      private void initFields() {
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
  
        memoizedIsInitialized = 1;
        return true;
      }
  
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        getUnknownFields().writeTo(output);
      }
  
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
  
        size = 0;
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
  
      private static final long serialVersionUID = 0L;
      @Override
      protected Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
  
      @Override
      public boolean equals(final Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto other = (com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto) obj;
  
        boolean result = true;
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
  
      @Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
  
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
  
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
  
      @Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProtoOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.internal_static_EmptyResponseProto_descriptor;
        }
  
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.internal_static_EmptyResponseProto_fieldAccessorTable;
        }
  
        // Construct using com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }
  
        public Builder clear() {
          super.clear();
          return this;
        }
  
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
  
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto.getDescriptor();
        }
  
        public com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto getDefaultInstanceForType() {
          return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto.getDefaultInstance();
        }
  
        public com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto build() {
          com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        private com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
  
        public com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto buildPartial() {
          com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto result = new com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto(this);
          onBuilt();
          return result;
        }
  
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto) {
            return mergeFrom((com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto other) {
          if (other == com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto.getDefaultInstance()) return this;
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
  
        public final boolean isInitialized() {
          return true;
        }
  
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
            }
          }
        }
  
  
        // @@protoc_insertion_point(builder_scope:EmptyResponseProto)
      }
  
      static {
        defaultInstance = new EmptyResponseProto(true);
        defaultInstance.initFields();
      }
  
      // @@protoc_insertion_point(class_scope:EmptyResponseProto)
    }
  
    public interface EchoRequestProtoOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
  
      // required string message = 1;
      boolean hasMessage();
      String getMessage();
    }
    public static final class EchoRequestProto extends
        com.google.protobuf.GeneratedMessage
        implements EchoRequestProtoOrBuilder {
      // Use EchoRequestProto.newBuilder() to construct.
      private EchoRequestProto(Builder builder) {
        super(builder);
      }
      private EchoRequestProto(boolean noInit) {}
  
      private static final EchoRequestProto defaultInstance;
      public static EchoRequestProto getDefaultInstance() {
        return defaultInstance;
      }
  
      public EchoRequestProto getDefaultInstanceForType() {
        return defaultInstance;
      }
  
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.internal_static_EchoRequestProto_descriptor;
      }
  
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.internal_static_EchoRequestProto_fieldAccessorTable;
      }
  
      private int bitField0_;
      // required string message = 1;
      public static final int MESSAGE_FIELD_NUMBER = 1;
      private Object message_;
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getMessage() {
        Object ref = message_;
        if (ref instanceof String) {
          return (String) ref;
        } else {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (com.google.protobuf.Internal.isValidUtf8(bs)) {
            message_ = s;
          }
          return s;
        }
      }
      private com.google.protobuf.ByteString getMessageBytes() {
        Object ref = message_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
          message_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      private void initFields() {
        message_ = "";
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
  
        if (!hasMessage()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getMessageBytes());
        }
        getUnknownFields().writeTo(output);
      }
  
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, getMessageBytes());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
  
      private static final long serialVersionUID = 0L;
      @Override
      protected Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
  
      @Override
      public boolean equals(final Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto other = (com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto) obj;
  
        boolean result = true;
        result = result && (hasMessage() == other.hasMessage());
        if (hasMessage()) {
          result = result && getMessage()
              .equals(other.getMessage());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
  
      @Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasMessage()) {
          hash = (37 * hash) + MESSAGE_FIELD_NUMBER;
          hash = (53 * hash) + getMessage().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
  
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
  
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
  
      @Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProtoOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.internal_static_EchoRequestProto_descriptor;
        }
  
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.internal_static_EchoRequestProto_fieldAccessorTable;
        }
  
        // Construct using com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }
  
        public Builder clear() {
          super.clear();
          message_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
  
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
  
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto.getDescriptor();
        }
  
        public com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto getDefaultInstanceForType() {
          return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto.getDefaultInstance();
        }
  
        public com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto build() {
          com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        private com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
  
        public com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto buildPartial() {
          com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto result = new com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.message_ = message_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
  
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto) {
            return mergeFrom((com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto other) {
          if (other == com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto.getDefaultInstance()) return this;
          if (other.hasMessage()) {
            setMessage(other.getMessage());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
  
        public final boolean isInitialized() {
          if (!hasMessage()) {
  
            return false;
          }
          return true;
        }
  
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                message_ = input.readBytes();
                break;
              }
            }
          }
        }
  
        private int bitField0_;
  
        // required string message = 1;
        private Object message_ = "";
        public boolean hasMessage() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public String getMessage() {
          Object ref = message_;
          if (!(ref instanceof String)) {
            String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
            message_ = s;
            return s;
          } else {
            return (String) ref;
          }
        }
        public Builder setMessage(String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
          message_ = value;
          onChanged();
          return this;
        }
        public Builder clearMessage() {
          bitField0_ = (bitField0_ & ~0x00000001);
          message_ = getDefaultInstance().getMessage();
          onChanged();
          return this;
        }
        void setMessage(com.google.protobuf.ByteString value) {
          bitField0_ |= 0x00000001;
          message_ = value;
          onChanged();
        }
  
        // @@protoc_insertion_point(builder_scope:EchoRequestProto)
      }
  
      static {
        defaultInstance = new EchoRequestProto(true);
        defaultInstance.initFields();
      }
  
      // @@protoc_insertion_point(class_scope:EchoRequestProto)
    }
  
    public interface EchoResponseProtoOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
  
      // required string message = 1;
      boolean hasMessage();
      String getMessage();
    }
    public static final class EchoResponseProto extends
        com.google.protobuf.GeneratedMessage
        implements EchoResponseProtoOrBuilder {
      // Use EchoResponseProto.newBuilder() to construct.
      private EchoResponseProto(Builder builder) {
        super(builder);
      }
      private EchoResponseProto(boolean noInit) {}
  
      private static final EchoResponseProto defaultInstance;
      public static EchoResponseProto getDefaultInstance() {
        return defaultInstance;
      }
  
      public EchoResponseProto getDefaultInstanceForType() {
        return defaultInstance;
      }
  
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.internal_static_EchoResponseProto_descriptor;
      }
  
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.internal_static_EchoResponseProto_fieldAccessorTable;
      }
  
      private int bitField0_;
      // required string message = 1;
      public static final int MESSAGE_FIELD_NUMBER = 1;
      private Object message_;
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getMessage() {
        Object ref = message_;
        if (ref instanceof String) {
          return (String) ref;
        } else {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (com.google.protobuf.Internal.isValidUtf8(bs)) {
            message_ = s;
          }
          return s;
        }
      }
      private com.google.protobuf.ByteString getMessageBytes() {
        Object ref = message_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
          message_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      private void initFields() {
        message_ = "";
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
  
        if (!hasMessage()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getMessageBytes());
        }
        getUnknownFields().writeTo(output);
      }
  
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, getMessageBytes());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
  
      private static final long serialVersionUID = 0L;
      @Override
      protected Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
  
      @Override
      public boolean equals(final Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto other = (com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto) obj;
  
        boolean result = true;
        result = result && (hasMessage() == other.hasMessage());
        if (hasMessage()) {
          result = result && getMessage()
              .equals(other.getMessage());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
  
      @Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasMessage()) {
          hash = (37 * hash) + MESSAGE_FIELD_NUMBER;
          hash = (53 * hash) + getMessage().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
  
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
  
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
  
      @Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProtoOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.internal_static_EchoResponseProto_descriptor;
        }
  
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.internal_static_EchoResponseProto_fieldAccessorTable;
        }
  
        // Construct using com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }
  
        public Builder clear() {
          super.clear();
          message_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
  
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
  
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto.getDescriptor();
        }
  
        public com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto getDefaultInstanceForType() {
          return com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto.getDefaultInstance();
        }
  
        public com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto build() {
          com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        private com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
  
        public com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto buildPartial() {
          com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto result = new com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.message_ = message_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
  
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto) {
            return mergeFrom((com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto other) {
          if (other == com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto.getDefaultInstance()) return this;
          if (other.hasMessage()) {
            setMessage(other.getMessage());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
  
        public final boolean isInitialized() {
          if (!hasMessage()) {
  
            return false;
          }
          return true;
        }
  
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                message_ = input.readBytes();
                break;
              }
            }
          }
        }
  
        private int bitField0_;
  
        // required string message = 1;
        private Object message_ = "";
        public boolean hasMessage() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public String getMessage() {
          Object ref = message_;
          if (!(ref instanceof String)) {
            String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
            message_ = s;
            return s;
          } else {
            return (String) ref;
          }
        }
        public Builder setMessage(String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
          message_ = value;
          onChanged();
          return this;
        }
        public Builder clearMessage() {
          bitField0_ = (bitField0_ & ~0x00000001);
          message_ = getDefaultInstance().getMessage();
          onChanged();
          return this;
        }
        void setMessage(com.google.protobuf.ByteString value) {
          bitField0_ |= 0x00000001;
          message_ = value;
          onChanged();
        }
  
        // @@protoc_insertion_point(builder_scope:EchoResponseProto)
      }
  
      static {
        defaultInstance = new EchoResponseProto(true);
        defaultInstance.initFields();
      }
  
      // @@protoc_insertion_point(class_scope:EchoResponseProto)
    }
  
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_EmptyRequestProto_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_EmptyRequestProto_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_EmptyResponseProto_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_EmptyResponseProto_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_EchoRequestProto_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_EchoRequestProto_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_EchoResponseProto_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_EchoResponseProto_fieldAccessorTable;
  
    public static com.google.protobuf.Descriptors.FileDescriptor
        getDescriptor() {
      return descriptor;
    }
    private static com.google.protobuf.Descriptors.FileDescriptor
        descriptor;
    static {
      String[] descriptorData = {
        "\n\ntest.proto\"\023\n\021EmptyRequestProto\"\024\n\022Emp" +
        "tyResponseProto\"#\n\020EchoRequestProto\022\017\n\007m" +
        "essage\030\001 \002(\t\"$\n\021EchoResponseProto\022\017\n\007mes" +
        "sage\030\001 \002(\tB7\n&com.alibaba.wasp.ipc.protob" +
        "uf.generatedB\nTestProtos\240\001\001"
      };
      com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            internal_static_EmptyRequestProto_descriptor =
              getDescriptor().getMessageTypes().get(0);
            internal_static_EmptyRequestProto_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_EmptyRequestProto_descriptor,
                new String[] { },
                com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto.class,
                com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyRequestProto.Builder.class);
            internal_static_EmptyResponseProto_descriptor =
              getDescriptor().getMessageTypes().get(1);
            internal_static_EmptyResponseProto_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_EmptyResponseProto_descriptor,
                new String[] { },
                com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto.class,
                com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EmptyResponseProto.Builder.class);
            internal_static_EchoRequestProto_descriptor =
              getDescriptor().getMessageTypes().get(2);
            internal_static_EchoRequestProto_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_EchoRequestProto_descriptor,
                new String[] { "Message", },
                com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto.class,
                com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoRequestProto.Builder.class);
            internal_static_EchoResponseProto_descriptor =
              getDescriptor().getMessageTypes().get(3);
            internal_static_EchoResponseProto_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_EchoResponseProto_descriptor,
                new String[] { "Message", },
                com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto.class,
                com.alibaba.wasp.ipc.protobuf.generated.TestProtos.EchoResponseProto.Builder.class);
            return null;
          }
        };
      com.google.protobuf.Descriptors.FileDescriptor
        .internalBuildGeneratedFileFrom(descriptorData,
          new com.google.protobuf.Descriptors.FileDescriptor[] {
          }, assigner);
    }
    
    // @@protoc_insertion_point(outer_class_scope)
  }
  