content: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: Client.proto
  
  package com.alibaba.wasp.protobuf.generated;
  
  public final class ClientProtos {
    private ClientProtos() {}
    public static void registerAllExtensions(
        com.google.protobuf.ExtensionRegistry registry) {
    }
    public interface ExecuteResultProtoOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required .ExecuteResultProto.ResultType type = 1;
      boolean hasType();
      com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.ResultType getType();
      
      // optional .QueryResultProto queryResult = 2;
      boolean hasQueryResult();
      com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto getQueryResult();
      com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder getQueryResultOrBuilder();
      
      // optional .WriteResultProto writeResult = 3;
      boolean hasWriteResult();
      com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto getWriteResult();
      com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder getWriteResultOrBuilder();
    }
    public static final class ExecuteResultProto extends
        com.google.protobuf.GeneratedMessage
        implements ExecuteResultProtoOrBuilder {
      // Use ExecuteResultProto.newBuilder() to construct.
      private ExecuteResultProto(Builder builder) {
        super(builder);
      }
      private ExecuteResultProto(boolean noInit) {}
      
      private static final ExecuteResultProto defaultInstance;
      public static ExecuteResultProto getDefaultInstance() {
        return defaultInstance;
      }
      
      public ExecuteResultProto getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_ExecuteResultProto_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_ExecuteResultProto_fieldAccessorTable;
      }
      
      public enum ResultType
          implements com.google.protobuf.ProtocolMessageEnum {
        QUERY(0, 0),
        WRITE(1, 1),
        ;
        
        public static final int QUERY_VALUE = 0;
        public static final int WRITE_VALUE = 1;
        
        
        public final int getNumber() { return value; }
        
        public static ResultType valueOf(int value) {
          switch (value) {
            case 0: return QUERY;
            case 1: return WRITE;
            default: return null;
          }
        }
        
        public static com.google.protobuf.Internal.EnumLiteMap<ResultType>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static com.google.protobuf.Internal.EnumLiteMap<ResultType>
            internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<ResultType>() {
                public ResultType findValueByNumber(int number) {
                  return ResultType.valueOf(number);
                }
              };
        
        public final com.google.protobuf.Descriptors.EnumValueDescriptor
            getValueDescriptor() {
          return getDescriptor().getValues().get(index);
        }
        public final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptorForType() {
          return getDescriptor();
        }
        public static final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.getDescriptor().getEnumTypes().get(0);
        }
        
        private static final ResultType[] VALUES = {
          QUERY, WRITE, 
        };
        
        public static ResultType valueOf(
            com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
          if (desc.getType() != getDescriptor()) {
            throw new java.lang.IllegalArgumentException(
              "EnumValueDescriptor is not for this type.");
          }
          return VALUES[desc.getIndex()];
        }
        
        private final int index;
        private final int value;
        
        private ResultType(int index, int value) {
          this.index = index;
          this.value = value;
        }
        
        // @@protoc_insertion_point(enum_scope:ExecuteResultProto.ResultType)
      }
      
      private int bitField0_;
      // required .ExecuteResultProto.ResultType type = 1;
      public static final int TYPE_FIELD_NUMBER = 1;
      private com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.ResultType type_;
      public boolean hasType() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.ResultType getType() {
        return type_;
      }
      
      // optional .QueryResultProto queryResult = 2;
      public static final int QUERYRESULT_FIELD_NUMBER = 2;
      private com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto queryResult_;
      public boolean hasQueryResult() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto getQueryResult() {
        return queryResult_;
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder getQueryResultOrBuilder() {
        return queryResult_;
      }
      
      // optional .WriteResultProto writeResult = 3;
      public static final int WRITERESULT_FIELD_NUMBER = 3;
      private com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto writeResult_;
      public boolean hasWriteResult() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto getWriteResult() {
        return writeResult_;
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder getWriteResultOrBuilder() {
        return writeResult_;
      }
      
      private void initFields() {
        type_ = com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.ResultType.QUERY;
        queryResult_ = com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.getDefaultInstance();
        writeResult_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasType()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (hasQueryResult()) {
          if (!getQueryResult().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasWriteResult()) {
          if (!getWriteResult().isInitialized()) {
            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.writeEnum(1, type_.getNumber());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(2, queryResult_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeMessage(3, writeResult_);
        }
        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
            .computeEnumSize(1, type_.getNumber());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, queryResult_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, writeResult_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto other = (com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto) obj;
        
        boolean result = true;
        result = result && (hasType() == other.hasType());
        if (hasType()) {
          result = result &&
              (getType() == other.getType());
        }
        result = result && (hasQueryResult() == other.hasQueryResult());
        if (hasQueryResult()) {
          result = result && getQueryResult()
              .equals(other.getQueryResult());
        }
        result = result && (hasWriteResult() == other.hasWriteResult());
        if (hasWriteResult()) {
          result = result && getWriteResult()
              .equals(other.getWriteResult());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasType()) {
          hash = (37 * hash) + TYPE_FIELD_NUMBER;
          hash = (53 * hash) + hashEnum(getType());
        }
        if (hasQueryResult()) {
          hash = (37 * hash) + QUERYRESULT_FIELD_NUMBER;
          hash = (53 * hash) + getQueryResult().hashCode();
        }
        if (hasWriteResult()) {
          hash = (37 * hash) + WRITERESULT_FIELD_NUMBER;
          hash = (53 * hash) + getWriteResult().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto 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.protobuf.generated.ClientProtos.ExecuteResultProto parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto 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.protobuf.generated.ClientProtos.ExecuteResultProto 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.protobuf.generated.ClientProtos.ExecuteResultProto 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.protobuf.generated.ClientProtos.ExecuteResultProto parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto 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.protobuf.generated.ClientProtos.ExecuteResultProto prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.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.protobuf.generated.ClientProtos.ExecuteResultProtoOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_ExecuteResultProto_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_ExecuteResultProto_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getQueryResultFieldBuilder();
            getWriteResultFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          type_ = com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.ResultType.QUERY;
          bitField0_ = (bitField0_ & ~0x00000001);
          if (queryResultBuilder_ == null) {
            queryResult_ = com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.getDefaultInstance();
          } else {
            queryResultBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          if (writeResultBuilder_ == null) {
            writeResult_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
          } else {
            writeResultBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000004);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto build() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto result = new com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.type_ = type_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (queryResultBuilder_ == null) {
            result.queryResult_ = queryResult_;
          } else {
            result.queryResult_ = queryResultBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          if (writeResultBuilder_ == null) {
            result.writeResult_ = writeResult_;
          } else {
            result.writeResult_ = writeResultBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.getDefaultInstance()) return this;
          if (other.hasType()) {
            setType(other.getType());
          }
          if (other.hasQueryResult()) {
            mergeQueryResult(other.getQueryResult());
          }
          if (other.hasWriteResult()) {
            mergeWriteResult(other.getWriteResult());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasType()) {
            
            return false;
          }
          if (hasQueryResult()) {
            if (!getQueryResult().isInitialized()) {
              
              return false;
            }
          }
          if (hasWriteResult()) {
            if (!getWriteResult().isInitialized()) {
              
              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 8: {
                int rawValue = input.readEnum();
                com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.ResultType value = com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.ResultType.valueOf(rawValue);
                if (value == null) {
                  unknownFields.mergeVarintField(1, rawValue);
                } else {
                  bitField0_ |= 0x00000001;
                  type_ = value;
                }
                break;
              }
              case 18: {
                com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder subBuilder = com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.newBuilder();
                if (hasQueryResult()) {
                  subBuilder.mergeFrom(getQueryResult());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setQueryResult(subBuilder.buildPartial());
                break;
              }
              case 26: {
                com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder subBuilder = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.newBuilder();
                if (hasWriteResult()) {
                  subBuilder.mergeFrom(getWriteResult());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setWriteResult(subBuilder.buildPartial());
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required .ExecuteResultProto.ResultType type = 1;
        private com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.ResultType type_ = com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.ResultType.QUERY;
        public boolean hasType() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.ResultType getType() {
          return type_;
        }
        public Builder setType(com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.ResultType value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000001;
          type_ = value;
          onChanged();
          return this;
        }
        public Builder clearType() {
          bitField0_ = (bitField0_ & ~0x00000001);
          type_ = com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.ResultType.QUERY;
          onChanged();
          return this;
        }
        
        // optional .QueryResultProto queryResult = 2;
        private com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto queryResult_ = com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder> queryResultBuilder_;
        public boolean hasQueryResult() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto getQueryResult() {
          if (queryResultBuilder_ == null) {
            return queryResult_;
          } else {
            return queryResultBuilder_.getMessage();
          }
        }
        public Builder setQueryResult(com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto value) {
          if (queryResultBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            queryResult_ = value;
            onChanged();
          } else {
            queryResultBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder setQueryResult(
            com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder builderForValue) {
          if (queryResultBuilder_ == null) {
            queryResult_ = builderForValue.build();
            onChanged();
          } else {
            queryResultBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder mergeQueryResult(com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto value) {
          if (queryResultBuilder_ == null) {
            if (((bitField0_ & 0x00000002) == 0x00000002) &&
                queryResult_ != com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.getDefaultInstance()) {
              queryResult_ =
                com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.newBuilder(queryResult_).mergeFrom(value).buildPartial();
            } else {
              queryResult_ = value;
            }
            onChanged();
          } else {
            queryResultBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder clearQueryResult() {
          if (queryResultBuilder_ == null) {
            queryResult_ = com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.getDefaultInstance();
            onChanged();
          } else {
            queryResultBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder getQueryResultBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getQueryResultFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder getQueryResultOrBuilder() {
          if (queryResultBuilder_ != null) {
            return queryResultBuilder_.getMessageOrBuilder();
          } else {
            return queryResult_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder> 
            getQueryResultFieldBuilder() {
          if (queryResultBuilder_ == null) {
            queryResultBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder>(
                    queryResult_,
                    getParentForChildren(),
                    isClean());
            queryResult_ = null;
          }
          return queryResultBuilder_;
        }
        
        // optional .WriteResultProto writeResult = 3;
        private com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto writeResult_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder> writeResultBuilder_;
        public boolean hasWriteResult() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto getWriteResult() {
          if (writeResultBuilder_ == null) {
            return writeResult_;
          } else {
            return writeResultBuilder_.getMessage();
          }
        }
        public Builder setWriteResult(com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto value) {
          if (writeResultBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            writeResult_ = value;
            onChanged();
          } else {
            writeResultBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000004;
          return this;
        }
        public Builder setWriteResult(
            com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder builderForValue) {
          if (writeResultBuilder_ == null) {
            writeResult_ = builderForValue.build();
            onChanged();
          } else {
            writeResultBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000004;
          return this;
        }
        public Builder mergeWriteResult(com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto value) {
          if (writeResultBuilder_ == null) {
            if (((bitField0_ & 0x00000004) == 0x00000004) &&
                writeResult_ != com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance()) {
              writeResult_ =
                com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.newBuilder(writeResult_).mergeFrom(value).buildPartial();
            } else {
              writeResult_ = value;
            }
            onChanged();
          } else {
            writeResultBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000004;
          return this;
        }
        public Builder clearWriteResult() {
          if (writeResultBuilder_ == null) {
            writeResult_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
            onChanged();
          } else {
            writeResultBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000004);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder getWriteResultBuilder() {
          bitField0_ |= 0x00000004;
          onChanged();
          return getWriteResultFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder getWriteResultOrBuilder() {
          if (writeResultBuilder_ != null) {
            return writeResultBuilder_.getMessageOrBuilder();
          } else {
            return writeResult_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder> 
            getWriteResultFieldBuilder() {
          if (writeResultBuilder_ == null) {
            writeResultBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder>(
                    writeResult_,
                    getParentForChildren(),
                    isClean());
            writeResult_ = null;
          }
          return writeResultBuilder_;
        }
        
        // @@protoc_insertion_point(builder_scope:ExecuteResultProto)
      }
      
      static {
        defaultInstance = new ExecuteResultProto(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:ExecuteResultProto)
    }
    
    public interface StringDataTypePairOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required string name = 1;
      boolean hasName();
      String getName();
      
      // required .DataTypeProtos dataType = 2;
      boolean hasDataType();
      com.alibaba.wasp.protobuf.generated.MetaProtos.DataTypeProtos getDataType();
    }
    public static final class StringDataTypePair extends
        com.google.protobuf.GeneratedMessage
        implements StringDataTypePairOrBuilder {
      // Use StringDataTypePair.newBuilder() to construct.
      private StringDataTypePair(Builder builder) {
        super(builder);
      }
      private StringDataTypePair(boolean noInit) {}
      
      private static final StringDataTypePair defaultInstance;
      public static StringDataTypePair getDefaultInstance() {
        return defaultInstance;
      }
      
      public StringDataTypePair getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_StringDataTypePair_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_StringDataTypePair_fieldAccessorTable;
      }
      
      private int bitField0_;
      // required string name = 1;
      public static final int NAME_FIELD_NUMBER = 1;
      private java.lang.Object name_;
      public boolean hasName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getName() {
        java.lang.Object ref = name_;
        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)) {
            name_ = s;
          }
          return s;
        }
      }
      private com.google.protobuf.ByteString getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      
      // required .DataTypeProtos dataType = 2;
      public static final int DATATYPE_FIELD_NUMBER = 2;
      private com.alibaba.wasp.protobuf.generated.MetaProtos.DataTypeProtos dataType_;
      public boolean hasDataType() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.alibaba.wasp.protobuf.generated.MetaProtos.DataTypeProtos getDataType() {
        return dataType_;
      }
      
      private void initFields() {
        name_ = "";
        dataType_ = com.alibaba.wasp.protobuf.generated.MetaProtos.DataTypeProtos.TYPE_INT32;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasName()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasDataType()) {
          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, getNameBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeEnum(2, dataType_.getNumber());
        }
        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, getNameBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(2, dataType_.getNumber());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair other = (com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair) obj;
        
        boolean result = true;
        result = result && (hasName() == other.hasName());
        if (hasName()) {
          result = result && getName()
              .equals(other.getName());
        }
        result = result && (hasDataType() == other.hasDataType());
        if (hasDataType()) {
          result = result &&
              (getDataType() == other.getDataType());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasName()) {
          hash = (37 * hash) + NAME_FIELD_NUMBER;
          hash = (53 * hash) + getName().hashCode();
        }
        if (hasDataType()) {
          hash = (37 * hash) + DATATYPE_FIELD_NUMBER;
          hash = (53 * hash) + hashEnum(getDataType());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair 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.protobuf.generated.ClientProtos.StringDataTypePair parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair 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.protobuf.generated.ClientProtos.StringDataTypePair 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.protobuf.generated.ClientProtos.StringDataTypePair 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.protobuf.generated.ClientProtos.StringDataTypePair parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair 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.protobuf.generated.ClientProtos.StringDataTypePair prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.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.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_StringDataTypePair_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_StringDataTypePair_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.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();
          name_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          dataType_ = com.alibaba.wasp.protobuf.generated.MetaProtos.DataTypeProtos.TYPE_INT32;
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair build() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair result = new com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.name_ = name_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.dataType_ = dataType_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.getDefaultInstance()) return this;
          if (other.hasName()) {
            setName(other.getName());
          }
          if (other.hasDataType()) {
            setDataType(other.getDataType());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasName()) {
            
            return false;
          }
          if (!hasDataType()) {
            
            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;
                name_ = input.readBytes();
                break;
              }
              case 16: {
                int rawValue = input.readEnum();
                com.alibaba.wasp.protobuf.generated.MetaProtos.DataTypeProtos value = com.alibaba.wasp.protobuf.generated.MetaProtos.DataTypeProtos.valueOf(rawValue);
                if (value == null) {
                  unknownFields.mergeVarintField(2, rawValue);
                } else {
                  bitField0_ |= 0x00000002;
                  dataType_ = value;
                }
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required string name = 1;
        private java.lang.Object name_ = "";
        public boolean hasName() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public String getName() {
          java.lang.Object ref = name_;
          if (!(ref instanceof String)) {
            String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
            name_ = s;
            return s;
          } else {
            return (String) ref;
          }
        }
        public Builder setName(String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
          name_ = value;
          onChanged();
          return this;
        }
        public Builder clearName() {
          bitField0_ = (bitField0_ & ~0x00000001);
          name_ = getDefaultInstance().getName();
          onChanged();
          return this;
        }
        void setName(com.google.protobuf.ByteString value) {
          bitField0_ |= 0x00000001;
          name_ = value;
          onChanged();
        }
        
        // required .DataTypeProtos dataType = 2;
        private com.alibaba.wasp.protobuf.generated.MetaProtos.DataTypeProtos dataType_ = com.alibaba.wasp.protobuf.generated.MetaProtos.DataTypeProtos.TYPE_INT32;
        public boolean hasDataType() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public com.alibaba.wasp.protobuf.generated.MetaProtos.DataTypeProtos getDataType() {
          return dataType_;
        }
        public Builder setDataType(com.alibaba.wasp.protobuf.generated.MetaProtos.DataTypeProtos value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000002;
          dataType_ = value;
          onChanged();
          return this;
        }
        public Builder clearDataType() {
          bitField0_ = (bitField0_ & ~0x00000002);
          dataType_ = com.alibaba.wasp.protobuf.generated.MetaProtos.DataTypeProtos.TYPE_INT32;
          onChanged();
          return this;
        }
        
        // @@protoc_insertion_point(builder_scope:StringDataTypePair)
      }
      
      static {
        defaultInstance = new StringDataTypePair(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:StringDataTypePair)
    }
    
    public interface QueryResultProtoOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // repeated .StringBytesPair result = 1;
      java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair> 
          getResultList();
      com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair getResult(int index);
      int getResultCount();
      java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPairOrBuilder> 
          getResultOrBuilderList();
      com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPairOrBuilder getResultOrBuilder(
          int index);
    }
    public static final class QueryResultProto extends
        com.google.protobuf.GeneratedMessage
        implements QueryResultProtoOrBuilder {
      // Use QueryResultProto.newBuilder() to construct.
      private QueryResultProto(Builder builder) {
        super(builder);
      }
      private QueryResultProto(boolean noInit) {}
      
      private static final QueryResultProto defaultInstance;
      public static QueryResultProto getDefaultInstance() {
        return defaultInstance;
      }
      
      public QueryResultProto getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_QueryResultProto_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_QueryResultProto_fieldAccessorTable;
      }
      
      // repeated .StringBytesPair result = 1;
      public static final int RESULT_FIELD_NUMBER = 1;
      private java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair> result_;
      public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair> getResultList() {
        return result_;
      }
      public java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPairOrBuilder> 
          getResultOrBuilderList() {
        return result_;
      }
      public int getResultCount() {
        return result_.size();
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair getResult(int index) {
        return result_.get(index);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPairOrBuilder getResultOrBuilder(
          int index) {
        return result_.get(index);
      }
      
      private void initFields() {
        result_ = java.util.Collections.emptyList();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        for (int i = 0; i < getResultCount(); i++) {
          if (!getResult(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
      
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        for (int i = 0; i < result_.size(); i++) {
          output.writeMessage(1, result_.get(i));
        }
        getUnknownFields().writeTo(output);
      }
      
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
      
        size = 0;
        for (int i = 0; i < result_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, result_.get(i));
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto other = (com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto) obj;
        
        boolean result = true;
        result = result && getResultList()
            .equals(other.getResultList());
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (getResultCount() > 0) {
          hash = (37 * hash) + RESULT_FIELD_NUMBER;
          hash = (53 * hash) + getResultList().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto 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.protobuf.generated.ClientProtos.QueryResultProto parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto 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.protobuf.generated.ClientProtos.QueryResultProto 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.protobuf.generated.ClientProtos.QueryResultProto 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.protobuf.generated.ClientProtos.QueryResultProto parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto 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.protobuf.generated.ClientProtos.QueryResultProto prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.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.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_QueryResultProto_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_QueryResultProto_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getResultFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          if (resultBuilder_ == null) {
            result_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            resultBuilder_.clear();
          }
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto build() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto result = new com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto(this);
          int from_bitField0_ = bitField0_;
          if (resultBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              result_ = java.util.Collections.unmodifiableList(result_);
              bitField0_ = (bitField0_ & ~0x00000001);
            }
            result.result_ = result_;
          } else {
            result.result_ = resultBuilder_.build();
          }
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.getDefaultInstance()) return this;
          if (resultBuilder_ == null) {
            if (!other.result_.isEmpty()) {
              if (result_.isEmpty()) {
                result_ = other.result_;
                bitField0_ = (bitField0_ & ~0x00000001);
              } else {
                ensureResultIsMutable();
                result_.addAll(other.result_);
              }
              onChanged();
            }
          } else {
            if (!other.result_.isEmpty()) {
              if (resultBuilder_.isEmpty()) {
                resultBuilder_.dispose();
                resultBuilder_ = null;
                result_ = other.result_;
                bitField0_ = (bitField0_ & ~0x00000001);
                resultBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getResultFieldBuilder() : null;
              } else {
                resultBuilder_.addAllMessages(other.result_);
              }
            }
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          for (int i = 0; i < getResultCount(); i++) {
            if (!getResult(i).isInitialized()) {
              
              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: {
                com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder subBuilder = com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.newBuilder();
                input.readMessage(subBuilder, extensionRegistry);
                addResult(subBuilder.buildPartial());
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // repeated .StringBytesPair result = 1;
        private java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair> result_ =
          java.util.Collections.emptyList();
        private void ensureResultIsMutable() {
          if (!((bitField0_ & 0x00000001) == 0x00000001)) {
            result_ = new java.util.ArrayList<com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair>(result_);
            bitField0_ |= 0x00000001;
           }
        }
        
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPairOrBuilder> resultBuilder_;
        
        public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair> getResultList() {
          if (resultBuilder_ == null) {
            return java.util.Collections.unmodifiableList(result_);
          } else {
            return resultBuilder_.getMessageList();
          }
        }
        public int getResultCount() {
          if (resultBuilder_ == null) {
            return result_.size();
          } else {
            return resultBuilder_.getCount();
          }
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair getResult(int index) {
          if (resultBuilder_ == null) {
            return result_.get(index);
          } else {
            return resultBuilder_.getMessage(index);
          }
        }
        public Builder setResult(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair value) {
          if (resultBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureResultIsMutable();
            result_.set(index, value);
            onChanged();
          } else {
            resultBuilder_.setMessage(index, value);
          }
          return this;
        }
        public Builder setResult(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder builderForValue) {
          if (resultBuilder_ == null) {
            ensureResultIsMutable();
            result_.set(index, builderForValue.build());
            onChanged();
          } else {
            resultBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addResult(com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair value) {
          if (resultBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureResultIsMutable();
            result_.add(value);
            onChanged();
          } else {
            resultBuilder_.addMessage(value);
          }
          return this;
        }
        public Builder addResult(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair value) {
          if (resultBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureResultIsMutable();
            result_.add(index, value);
            onChanged();
          } else {
            resultBuilder_.addMessage(index, value);
          }
          return this;
        }
        public Builder addResult(
            com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder builderForValue) {
          if (resultBuilder_ == null) {
            ensureResultIsMutable();
            result_.add(builderForValue.build());
            onChanged();
          } else {
            resultBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        public Builder addResult(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder builderForValue) {
          if (resultBuilder_ == null) {
            ensureResultIsMutable();
            result_.add(index, builderForValue.build());
            onChanged();
          } else {
            resultBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addAllResult(
            java.lang.Iterable<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair> values) {
          if (resultBuilder_ == null) {
            ensureResultIsMutable();
            super.addAll(values, result_);
            onChanged();
          } else {
            resultBuilder_.addAllMessages(values);
          }
          return this;
        }
        public Builder clearResult() {
          if (resultBuilder_ == null) {
            result_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
            onChanged();
          } else {
            resultBuilder_.clear();
          }
          return this;
        }
        public Builder removeResult(int index) {
          if (resultBuilder_ == null) {
            ensureResultIsMutable();
            result_.remove(index);
            onChanged();
          } else {
            resultBuilder_.remove(index);
          }
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder getResultBuilder(
            int index) {
          return getResultFieldBuilder().getBuilder(index);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPairOrBuilder getResultOrBuilder(
            int index) {
          if (resultBuilder_ == null) {
            return result_.get(index);  } else {
            return resultBuilder_.getMessageOrBuilder(index);
          }
        }
        public java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPairOrBuilder> 
             getResultOrBuilderList() {
          if (resultBuilder_ != null) {
            return resultBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(result_);
          }
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder addResultBuilder() {
          return getResultFieldBuilder().addBuilder(
              com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.getDefaultInstance());
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder addResultBuilder(
            int index) {
          return getResultFieldBuilder().addBuilder(
              index, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.getDefaultInstance());
        }
        public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder> 
             getResultBuilderList() {
          return getResultFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPairOrBuilder> 
            getResultFieldBuilder() {
          if (resultBuilder_ == null) {
            resultBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPairOrBuilder>(
                    result_,
                    ((bitField0_ & 0x00000001) == 0x00000001),
                    getParentForChildren(),
                    isClean());
            result_ = null;
          }
          return resultBuilder_;
        }
        
        // @@protoc_insertion_point(builder_scope:QueryResultProto)
      }
      
      static {
        defaultInstance = new QueryResultProto(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:QueryResultProto)
    }
    
    public interface WriteResultProtoOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required .WriteResultProto.StatusCode code = 1;
      boolean hasCode();
      com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.StatusCode getCode();
      
      // optional string exceptionMsg = 2;
      boolean hasExceptionMsg();
      String getExceptionMsg();
      
      // optional string exceptionClassName = 3;
      boolean hasExceptionClassName();
      String getExceptionClassName();
    }
    public static final class WriteResultProto extends
        com.google.protobuf.GeneratedMessage
        implements WriteResultProtoOrBuilder {
      // Use WriteResultProto.newBuilder() to construct.
      private WriteResultProto(Builder builder) {
        super(builder);
      }
      private WriteResultProto(boolean noInit) {}
      
      private static final WriteResultProto defaultInstance;
      public static WriteResultProto getDefaultInstance() {
        return defaultInstance;
      }
      
      public WriteResultProto getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_WriteResultProto_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_WriteResultProto_fieldAccessorTable;
      }
      
      public enum StatusCode
          implements com.google.protobuf.ProtocolMessageEnum {
        SUCCESS(0, 0),
        FAILURE(1, 1),
        NOT_RUN(2, 2),
        ;
        
        public static final int SUCCESS_VALUE = 0;
        public static final int FAILURE_VALUE = 1;
        public static final int NOT_RUN_VALUE = 2;
        
        
        public final int getNumber() { return value; }
        
        public static StatusCode valueOf(int value) {
          switch (value) {
            case 0: return SUCCESS;
            case 1: return FAILURE;
            case 2: return NOT_RUN;
            default: return null;
          }
        }
        
        public static com.google.protobuf.Internal.EnumLiteMap<StatusCode>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static com.google.protobuf.Internal.EnumLiteMap<StatusCode>
            internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<StatusCode>() {
                public StatusCode findValueByNumber(int number) {
                  return StatusCode.valueOf(number);
                }
              };
        
        public final com.google.protobuf.Descriptors.EnumValueDescriptor
            getValueDescriptor() {
          return getDescriptor().getValues().get(index);
        }
        public final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptorForType() {
          return getDescriptor();
        }
        public static final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDescriptor().getEnumTypes().get(0);
        }
        
        private static final StatusCode[] VALUES = {
          SUCCESS, FAILURE, NOT_RUN, 
        };
        
        public static StatusCode valueOf(
            com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
          if (desc.getType() != getDescriptor()) {
            throw new java.lang.IllegalArgumentException(
              "EnumValueDescriptor is not for this type.");
          }
          return VALUES[desc.getIndex()];
        }
        
        private final int index;
        private final int value;
        
        private StatusCode(int index, int value) {
          this.index = index;
          this.value = value;
        }
        
        // @@protoc_insertion_point(enum_scope:WriteResultProto.StatusCode)
      }
      
      private int bitField0_;
      // required .WriteResultProto.StatusCode code = 1;
      public static final int CODE_FIELD_NUMBER = 1;
      private com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.StatusCode code_;
      public boolean hasCode() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.StatusCode getCode() {
        return code_;
      }
      
      // optional string exceptionMsg = 2;
      public static final int EXCEPTIONMSG_FIELD_NUMBER = 2;
      private java.lang.Object exceptionMsg_;
      public boolean hasExceptionMsg() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public String getExceptionMsg() {
        java.lang.Object ref = exceptionMsg_;
        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)) {
            exceptionMsg_ = s;
          }
          return s;
        }
      }
      private com.google.protobuf.ByteString getExceptionMsgBytes() {
        java.lang.Object ref = exceptionMsg_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
          exceptionMsg_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      
      // optional string exceptionClassName = 3;
      public static final int EXCEPTIONCLASSNAME_FIELD_NUMBER = 3;
      private java.lang.Object exceptionClassName_;
      public boolean hasExceptionClassName() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public String getExceptionClassName() {
        java.lang.Object ref = exceptionClassName_;
        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)) {
            exceptionClassName_ = s;
          }
          return s;
        }
      }
      private com.google.protobuf.ByteString getExceptionClassNameBytes() {
        java.lang.Object ref = exceptionClassName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
          exceptionClassName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      
      private void initFields() {
        code_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.StatusCode.SUCCESS;
        exceptionMsg_ = "";
        exceptionClassName_ = "";
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasCode()) {
          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.writeEnum(1, code_.getNumber());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(2, getExceptionMsgBytes());
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeBytes(3, getExceptionClassNameBytes());
        }
        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
            .computeEnumSize(1, code_.getNumber());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(2, getExceptionMsgBytes());
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(3, getExceptionClassNameBytes());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto other = (com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto) obj;
        
        boolean result = true;
        result = result && (hasCode() == other.hasCode());
        if (hasCode()) {
          result = result &&
              (getCode() == other.getCode());
        }
        result = result && (hasExceptionMsg() == other.hasExceptionMsg());
        if (hasExceptionMsg()) {
          result = result && getExceptionMsg()
              .equals(other.getExceptionMsg());
        }
        result = result && (hasExceptionClassName() == other.hasExceptionClassName());
        if (hasExceptionClassName()) {
          result = result && getExceptionClassName()
              .equals(other.getExceptionClassName());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasCode()) {
          hash = (37 * hash) + CODE_FIELD_NUMBER;
          hash = (53 * hash) + hashEnum(getCode());
        }
        if (hasExceptionMsg()) {
          hash = (37 * hash) + EXCEPTIONMSG_FIELD_NUMBER;
          hash = (53 * hash) + getExceptionMsg().hashCode();
        }
        if (hasExceptionClassName()) {
          hash = (37 * hash) + EXCEPTIONCLASSNAME_FIELD_NUMBER;
          hash = (53 * hash) + getExceptionClassName().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto 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.protobuf.generated.ClientProtos.WriteResultProto parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto 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.protobuf.generated.ClientProtos.WriteResultProto 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.protobuf.generated.ClientProtos.WriteResultProto 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.protobuf.generated.ClientProtos.WriteResultProto parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto 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.protobuf.generated.ClientProtos.WriteResultProto prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.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.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_WriteResultProto_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_WriteResultProto_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.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();
          code_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.StatusCode.SUCCESS;
          bitField0_ = (bitField0_ & ~0x00000001);
          exceptionMsg_ = "";
          bitField0_ = (bitField0_ & ~0x00000002);
          exceptionClassName_ = "";
          bitField0_ = (bitField0_ & ~0x00000004);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto build() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto result = new com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.code_ = code_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.exceptionMsg_ = exceptionMsg_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.exceptionClassName_ = exceptionClassName_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance()) return this;
          if (other.hasCode()) {
            setCode(other.getCode());
          }
          if (other.hasExceptionMsg()) {
            setExceptionMsg(other.getExceptionMsg());
          }
          if (other.hasExceptionClassName()) {
            setExceptionClassName(other.getExceptionClassName());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasCode()) {
            
            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 8: {
                int rawValue = input.readEnum();
                com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.StatusCode value = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.StatusCode.valueOf(rawValue);
                if (value == null) {
                  unknownFields.mergeVarintField(1, rawValue);
                } else {
                  bitField0_ |= 0x00000001;
                  code_ = value;
                }
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                exceptionMsg_ = input.readBytes();
                break;
              }
              case 26: {
                bitField0_ |= 0x00000004;
                exceptionClassName_ = input.readBytes();
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required .WriteResultProto.StatusCode code = 1;
        private com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.StatusCode code_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.StatusCode.SUCCESS;
        public boolean hasCode() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.StatusCode getCode() {
          return code_;
        }
        public Builder setCode(com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.StatusCode value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000001;
          code_ = value;
          onChanged();
          return this;
        }
        public Builder clearCode() {
          bitField0_ = (bitField0_ & ~0x00000001);
          code_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.StatusCode.SUCCESS;
          onChanged();
          return this;
        }
        
        // optional string exceptionMsg = 2;
        private java.lang.Object exceptionMsg_ = "";
        public boolean hasExceptionMsg() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public String getExceptionMsg() {
          java.lang.Object ref = exceptionMsg_;
          if (!(ref instanceof String)) {
            String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
            exceptionMsg_ = s;
            return s;
          } else {
            return (String) ref;
          }
        }
        public Builder setExceptionMsg(String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000002;
          exceptionMsg_ = value;
          onChanged();
          return this;
        }
        public Builder clearExceptionMsg() {
          bitField0_ = (bitField0_ & ~0x00000002);
          exceptionMsg_ = getDefaultInstance().getExceptionMsg();
          onChanged();
          return this;
        }
        void setExceptionMsg(com.google.protobuf.ByteString value) {
          bitField0_ |= 0x00000002;
          exceptionMsg_ = value;
          onChanged();
        }
        
        // optional string exceptionClassName = 3;
        private java.lang.Object exceptionClassName_ = "";
        public boolean hasExceptionClassName() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        public String getExceptionClassName() {
          java.lang.Object ref = exceptionClassName_;
          if (!(ref instanceof String)) {
            String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
            exceptionClassName_ = s;
            return s;
          } else {
            return (String) ref;
          }
        }
        public Builder setExceptionClassName(String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000004;
          exceptionClassName_ = value;
          onChanged();
          return this;
        }
        public Builder clearExceptionClassName() {
          bitField0_ = (bitField0_ & ~0x00000004);
          exceptionClassName_ = getDefaultInstance().getExceptionClassName();
          onChanged();
          return this;
        }
        void setExceptionClassName(com.google.protobuf.ByteString value) {
          bitField0_ |= 0x00000004;
          exceptionClassName_ = value;
          onChanged();
        }
        
        // @@protoc_insertion_point(builder_scope:WriteResultProto)
      }
      
      static {
        defaultInstance = new WriteResultProto(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:WriteResultProto)
    }
    
    public interface ExecuteRequestOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // optional string sql = 1;
      boolean hasSql();
      String getSql();
      
      // optional .ReadModelProto readModel = 2;
      boolean hasReadModel();
      com.alibaba.wasp.protobuf.generated.MetaProtos.ReadModelProto getReadModel();
      
      // optional string sessionId = 3;
      boolean hasSessionId();
      String getSessionId();
      
      // optional bool closeSession = 4;
      boolean hasCloseSession();
      boolean getCloseSession();
      
      // optional uint32 fetchSize = 5;
      boolean hasFetchSize();
      int getFetchSize();
      
      // optional bool isTransaction = 6;
      boolean hasIsTransaction();
      boolean getIsTransaction();
      
      // repeated string transactionSql = 7;
      java.util.List<String> getTransactionSqlList();
      int getTransactionSqlCount();
      String getTransactionSql(int index);
    }
    public static final class ExecuteRequest extends
        com.google.protobuf.GeneratedMessage
        implements ExecuteRequestOrBuilder {
      // Use ExecuteRequest.newBuilder() to construct.
      private ExecuteRequest(Builder builder) {
        super(builder);
      }
      private ExecuteRequest(boolean noInit) {}
      
      private static final ExecuteRequest defaultInstance;
      public static ExecuteRequest getDefaultInstance() {
        return defaultInstance;
      }
      
      public ExecuteRequest getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_ExecuteRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_ExecuteRequest_fieldAccessorTable;
      }
      
      private int bitField0_;
      // optional string sql = 1;
      public static final int SQL_FIELD_NUMBER = 1;
      private java.lang.Object sql_;
      public boolean hasSql() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getSql() {
        java.lang.Object ref = sql_;
        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)) {
            sql_ = s;
          }
          return s;
        }
      }
      private com.google.protobuf.ByteString getSqlBytes() {
        java.lang.Object ref = sql_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
          sql_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      
      // optional .ReadModelProto readModel = 2;
      public static final int READMODEL_FIELD_NUMBER = 2;
      private com.alibaba.wasp.protobuf.generated.MetaProtos.ReadModelProto readModel_;
      public boolean hasReadModel() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.alibaba.wasp.protobuf.generated.MetaProtos.ReadModelProto getReadModel() {
        return readModel_;
      }
      
      // optional string sessionId = 3;
      public static final int SESSIONID_FIELD_NUMBER = 3;
      private java.lang.Object sessionId_;
      public boolean hasSessionId() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public String getSessionId() {
        java.lang.Object ref = sessionId_;
        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)) {
            sessionId_ = s;
          }
          return s;
        }
      }
      private com.google.protobuf.ByteString getSessionIdBytes() {
        java.lang.Object ref = sessionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
          sessionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      
      // optional bool closeSession = 4;
      public static final int CLOSESESSION_FIELD_NUMBER = 4;
      private boolean closeSession_;
      public boolean hasCloseSession() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      public boolean getCloseSession() {
        return closeSession_;
      }
      
      // optional uint32 fetchSize = 5;
      public static final int FETCHSIZE_FIELD_NUMBER = 5;
      private int fetchSize_;
      public boolean hasFetchSize() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      public int getFetchSize() {
        return fetchSize_;
      }
      
      // optional bool isTransaction = 6;
      public static final int ISTRANSACTION_FIELD_NUMBER = 6;
      private boolean isTransaction_;
      public boolean hasIsTransaction() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      public boolean getIsTransaction() {
        return isTransaction_;
      }
      
      // repeated string transactionSql = 7;
      public static final int TRANSACTIONSQL_FIELD_NUMBER = 7;
      private com.google.protobuf.LazyStringList transactionSql_;
      public java.util.List<String>
          getTransactionSqlList() {
        return transactionSql_;
      }
      public int getTransactionSqlCount() {
        return transactionSql_.size();
      }
      public String getTransactionSql(int index) {
        return transactionSql_.get(index);
      }
      
      private void initFields() {
        sql_ = "";
        readModel_ = com.alibaba.wasp.protobuf.generated.MetaProtos.ReadModelProto.CURRENT;
        sessionId_ = "";
        closeSession_ = false;
        fetchSize_ = 0;
        isTransaction_ = false;
        transactionSql_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      }
      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();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getSqlBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeEnum(2, readModel_.getNumber());
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeBytes(3, getSessionIdBytes());
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeBool(4, closeSession_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          output.writeUInt32(5, fetchSize_);
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          output.writeBool(6, isTransaction_);
        }
        for (int i = 0; i < transactionSql_.size(); i++) {
          output.writeBytes(7, transactionSql_.getByteString(i));
        }
        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, getSqlBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(2, readModel_.getNumber());
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(3, getSessionIdBytes());
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(4, closeSession_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(5, fetchSize_);
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(6, isTransaction_);
        }
        {
          int dataSize = 0;
          for (int i = 0; i < transactionSql_.size(); i++) {
            dataSize += com.google.protobuf.CodedOutputStream
              .computeBytesSizeNoTag(transactionSql_.getByteString(i));
          }
          size += dataSize;
          size += 1 * getTransactionSqlList().size();
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest other = (com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest) obj;
        
        boolean result = true;
        result = result && (hasSql() == other.hasSql());
        if (hasSql()) {
          result = result && getSql()
              .equals(other.getSql());
        }
        result = result && (hasReadModel() == other.hasReadModel());
        if (hasReadModel()) {
          result = result &&
              (getReadModel() == other.getReadModel());
        }
        result = result && (hasSessionId() == other.hasSessionId());
        if (hasSessionId()) {
          result = result && getSessionId()
              .equals(other.getSessionId());
        }
        result = result && (hasCloseSession() == other.hasCloseSession());
        if (hasCloseSession()) {
          result = result && (getCloseSession()
              == other.getCloseSession());
        }
        result = result && (hasFetchSize() == other.hasFetchSize());
        if (hasFetchSize()) {
          result = result && (getFetchSize()
              == other.getFetchSize());
        }
        result = result && (hasIsTransaction() == other.hasIsTransaction());
        if (hasIsTransaction()) {
          result = result && (getIsTransaction()
              == other.getIsTransaction());
        }
        result = result && getTransactionSqlList()
            .equals(other.getTransactionSqlList());
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasSql()) {
          hash = (37 * hash) + SQL_FIELD_NUMBER;
          hash = (53 * hash) + getSql().hashCode();
        }
        if (hasReadModel()) {
          hash = (37 * hash) + READMODEL_FIELD_NUMBER;
          hash = (53 * hash) + hashEnum(getReadModel());
        }
        if (hasSessionId()) {
          hash = (37 * hash) + SESSIONID_FIELD_NUMBER;
          hash = (53 * hash) + getSessionId().hashCode();
        }
        if (hasCloseSession()) {
          hash = (37 * hash) + CLOSESESSION_FIELD_NUMBER;
          hash = (53 * hash) + hashBoolean(getCloseSession());
        }
        if (hasFetchSize()) {
          hash = (37 * hash) + FETCHSIZE_FIELD_NUMBER;
          hash = (53 * hash) + getFetchSize();
        }
        if (hasIsTransaction()) {
          hash = (37 * hash) + ISTRANSACTION_FIELD_NUMBER;
          hash = (53 * hash) + hashBoolean(getIsTransaction());
        }
        if (getTransactionSqlCount() > 0) {
          hash = (37 * hash) + TRANSACTIONSQL_FIELD_NUMBER;
          hash = (53 * hash) + getTransactionSqlList().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest 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.protobuf.generated.ClientProtos.ExecuteRequest parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest 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.protobuf.generated.ClientProtos.ExecuteRequest 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.protobuf.generated.ClientProtos.ExecuteRequest 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.protobuf.generated.ClientProtos.ExecuteRequest parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest 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.protobuf.generated.ClientProtos.ExecuteRequest prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.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.protobuf.generated.ClientProtos.ExecuteRequestOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_ExecuteRequest_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_ExecuteRequest_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest.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();
          sql_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          readModel_ = com.alibaba.wasp.protobuf.generated.MetaProtos.ReadModelProto.CURRENT;
          bitField0_ = (bitField0_ & ~0x00000002);
          sessionId_ = "";
          bitField0_ = (bitField0_ & ~0x00000004);
          closeSession_ = false;
          bitField0_ = (bitField0_ & ~0x00000008);
          fetchSize_ = 0;
          bitField0_ = (bitField0_ & ~0x00000010);
          isTransaction_ = false;
          bitField0_ = (bitField0_ & ~0x00000020);
          transactionSql_ = com.google.protobuf.LazyStringArrayList.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000040);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest build() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest result = new com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.sql_ = sql_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.readModel_ = readModel_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.sessionId_ = sessionId_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.closeSession_ = closeSession_;
          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
            to_bitField0_ |= 0x00000010;
          }
          result.fetchSize_ = fetchSize_;
          if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
            to_bitField0_ |= 0x00000020;
          }
          result.isTransaction_ = isTransaction_;
          if (((bitField0_ & 0x00000040) == 0x00000040)) {
            transactionSql_ = new com.google.protobuf.UnmodifiableLazyStringList(
                transactionSql_);
            bitField0_ = (bitField0_ & ~0x00000040);
          }
          result.transactionSql_ = transactionSql_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest.getDefaultInstance()) return this;
          if (other.hasSql()) {
            setSql(other.getSql());
          }
          if (other.hasReadModel()) {
            setReadModel(other.getReadModel());
          }
          if (other.hasSessionId()) {
            setSessionId(other.getSessionId());
          }
          if (other.hasCloseSession()) {
            setCloseSession(other.getCloseSession());
          }
          if (other.hasFetchSize()) {
            setFetchSize(other.getFetchSize());
          }
          if (other.hasIsTransaction()) {
            setIsTransaction(other.getIsTransaction());
          }
          if (!other.transactionSql_.isEmpty()) {
            if (transactionSql_.isEmpty()) {
              transactionSql_ = other.transactionSql_;
              bitField0_ = (bitField0_ & ~0x00000040);
            } else {
              ensureTransactionSqlIsMutable();
              transactionSql_.addAll(other.transactionSql_);
            }
            onChanged();
          }
          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;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                sql_ = input.readBytes();
                break;
              }
              case 16: {
                int rawValue = input.readEnum();
                com.alibaba.wasp.protobuf.generated.MetaProtos.ReadModelProto value = com.alibaba.wasp.protobuf.generated.MetaProtos.ReadModelProto.valueOf(rawValue);
                if (value == null) {
                  unknownFields.mergeVarintField(2, rawValue);
                } else {
                  bitField0_ |= 0x00000002;
                  readModel_ = value;
                }
                break;
              }
              case 26: {
                bitField0_ |= 0x00000004;
                sessionId_ = input.readBytes();
                break;
              }
              case 32: {
                bitField0_ |= 0x00000008;
                closeSession_ = input.readBool();
                break;
              }
              case 40: {
                bitField0_ |= 0x00000010;
                fetchSize_ = input.readUInt32();
                break;
              }
              case 48: {
                bitField0_ |= 0x00000020;
                isTransaction_ = input.readBool();
                break;
              }
              case 58: {
                ensureTransactionSqlIsMutable();
                transactionSql_.add(input.readBytes());
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // optional string sql = 1;
        private java.lang.Object sql_ = "";
        public boolean hasSql() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public String getSql() {
          java.lang.Object ref = sql_;
          if (!(ref instanceof String)) {
            String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
            sql_ = s;
            return s;
          } else {
            return (String) ref;
          }
        }
        public Builder setSql(String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
          sql_ = value;
          onChanged();
          return this;
        }
        public Builder clearSql() {
          bitField0_ = (bitField0_ & ~0x00000001);
          sql_ = getDefaultInstance().getSql();
          onChanged();
          return this;
        }
        void setSql(com.google.protobuf.ByteString value) {
          bitField0_ |= 0x00000001;
          sql_ = value;
          onChanged();
        }
        
        // optional .ReadModelProto readModel = 2;
        private com.alibaba.wasp.protobuf.generated.MetaProtos.ReadModelProto readModel_ = com.alibaba.wasp.protobuf.generated.MetaProtos.ReadModelProto.CURRENT;
        public boolean hasReadModel() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public com.alibaba.wasp.protobuf.generated.MetaProtos.ReadModelProto getReadModel() {
          return readModel_;
        }
        public Builder setReadModel(com.alibaba.wasp.protobuf.generated.MetaProtos.ReadModelProto value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000002;
          readModel_ = value;
          onChanged();
          return this;
        }
        public Builder clearReadModel() {
          bitField0_ = (bitField0_ & ~0x00000002);
          readModel_ = com.alibaba.wasp.protobuf.generated.MetaProtos.ReadModelProto.CURRENT;
          onChanged();
          return this;
        }
        
        // optional string sessionId = 3;
        private java.lang.Object sessionId_ = "";
        public boolean hasSessionId() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        public String getSessionId() {
          java.lang.Object ref = sessionId_;
          if (!(ref instanceof String)) {
            String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
            sessionId_ = s;
            return s;
          } else {
            return (String) ref;
          }
        }
        public Builder setSessionId(String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000004;
          sessionId_ = value;
          onChanged();
          return this;
        }
        public Builder clearSessionId() {
          bitField0_ = (bitField0_ & ~0x00000004);
          sessionId_ = getDefaultInstance().getSessionId();
          onChanged();
          return this;
        }
        void setSessionId(com.google.protobuf.ByteString value) {
          bitField0_ |= 0x00000004;
          sessionId_ = value;
          onChanged();
        }
        
        // optional bool closeSession = 4;
        private boolean closeSession_ ;
        public boolean hasCloseSession() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        public boolean getCloseSession() {
          return closeSession_;
        }
        public Builder setCloseSession(boolean value) {
          bitField0_ |= 0x00000008;
          closeSession_ = value;
          onChanged();
          return this;
        }
        public Builder clearCloseSession() {
          bitField0_ = (bitField0_ & ~0x00000008);
          closeSession_ = false;
          onChanged();
          return this;
        }
        
        // optional uint32 fetchSize = 5;
        private int fetchSize_ ;
        public boolean hasFetchSize() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        public int getFetchSize() {
          return fetchSize_;
        }
        public Builder setFetchSize(int value) {
          bitField0_ |= 0x00000010;
          fetchSize_ = value;
          onChanged();
          return this;
        }
        public Builder clearFetchSize() {
          bitField0_ = (bitField0_ & ~0x00000010);
          fetchSize_ = 0;
          onChanged();
          return this;
        }
        
        // optional bool isTransaction = 6;
        private boolean isTransaction_ ;
        public boolean hasIsTransaction() {
          return ((bitField0_ & 0x00000020) == 0x00000020);
        }
        public boolean getIsTransaction() {
          return isTransaction_;
        }
        public Builder setIsTransaction(boolean value) {
          bitField0_ |= 0x00000020;
          isTransaction_ = value;
          onChanged();
          return this;
        }
        public Builder clearIsTransaction() {
          bitField0_ = (bitField0_ & ~0x00000020);
          isTransaction_ = false;
          onChanged();
          return this;
        }
        
        // repeated string transactionSql = 7;
        private com.google.protobuf.LazyStringList transactionSql_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        private void ensureTransactionSqlIsMutable() {
          if (!((bitField0_ & 0x00000040) == 0x00000040)) {
            transactionSql_ = new com.google.protobuf.LazyStringArrayList(transactionSql_);
            bitField0_ |= 0x00000040;
           }
        }
        public java.util.List<String>
            getTransactionSqlList() {
          return java.util.Collections.unmodifiableList(transactionSql_);
        }
        public int getTransactionSqlCount() {
          return transactionSql_.size();
        }
        public String getTransactionSql(int index) {
          return transactionSql_.get(index);
        }
        public Builder setTransactionSql(
            int index, String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    ensureTransactionSqlIsMutable();
          transactionSql_.set(index, value);
          onChanged();
          return this;
        }
        public Builder addTransactionSql(String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    ensureTransactionSqlIsMutable();
          transactionSql_.add(value);
          onChanged();
          return this;
        }
        public Builder addAllTransactionSql(
            java.lang.Iterable<String> values) {
          ensureTransactionSqlIsMutable();
          super.addAll(values, transactionSql_);
          onChanged();
          return this;
        }
        public Builder clearTransactionSql() {
          transactionSql_ = com.google.protobuf.LazyStringArrayList.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000040);
          onChanged();
          return this;
        }
        void addTransactionSql(com.google.protobuf.ByteString value) {
          ensureTransactionSqlIsMutable();
          transactionSql_.add(value);
          onChanged();
        }
        
        // @@protoc_insertion_point(builder_scope:ExecuteRequest)
      }
      
      static {
        defaultInstance = new ExecuteRequest(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:ExecuteRequest)
    }
    
    public interface ExecuteResponseOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // optional string tableName = 1;
      boolean hasTableName();
      String getTableName();
      
      // repeated .StringDataTypePair meta = 2;
      java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair> 
          getMetaList();
      com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair getMeta(int index);
      int getMetaCount();
      java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder> 
          getMetaOrBuilderList();
      com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder getMetaOrBuilder(
          int index);
      
      // repeated .ExecuteResultProto result = 3;
      java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto> 
          getResultList();
      com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto getResult(int index);
      int getResultCount();
      java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProtoOrBuilder> 
          getResultOrBuilderList();
      com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProtoOrBuilder getResultOrBuilder(
          int index);
      
      // optional string sessionId = 4;
      boolean hasSessionId();
      String getSessionId();
      
      // optional bool lastScan = 5;
      boolean hasLastScan();
      boolean getLastScan();
    }
    public static final class ExecuteResponse extends
        com.google.protobuf.GeneratedMessage
        implements ExecuteResponseOrBuilder {
      // Use ExecuteResponse.newBuilder() to construct.
      private ExecuteResponse(Builder builder) {
        super(builder);
      }
      private ExecuteResponse(boolean noInit) {}
      
      private static final ExecuteResponse defaultInstance;
      public static ExecuteResponse getDefaultInstance() {
        return defaultInstance;
      }
      
      public ExecuteResponse getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_ExecuteResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_ExecuteResponse_fieldAccessorTable;
      }
      
      private int bitField0_;
      // optional string tableName = 1;
      public static final int TABLENAME_FIELD_NUMBER = 1;
      private java.lang.Object tableName_;
      public boolean hasTableName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getTableName() {
        java.lang.Object ref = tableName_;
        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)) {
            tableName_ = s;
          }
          return s;
        }
      }
      private com.google.protobuf.ByteString getTableNameBytes() {
        java.lang.Object ref = tableName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
          tableName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      
      // repeated .StringDataTypePair meta = 2;
      public static final int META_FIELD_NUMBER = 2;
      private java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair> meta_;
      public java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair> getMetaList() {
        return meta_;
      }
      public java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder> 
          getMetaOrBuilderList() {
        return meta_;
      }
      public int getMetaCount() {
        return meta_.size();
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair getMeta(int index) {
        return meta_.get(index);
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder getMetaOrBuilder(
          int index) {
        return meta_.get(index);
      }
      
      // repeated .ExecuteResultProto result = 3;
      public static final int RESULT_FIELD_NUMBER = 3;
      private java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto> result_;
      public java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto> getResultList() {
        return result_;
      }
      public java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProtoOrBuilder> 
          getResultOrBuilderList() {
        return result_;
      }
      public int getResultCount() {
        return result_.size();
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto getResult(int index) {
        return result_.get(index);
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProtoOrBuilder getResultOrBuilder(
          int index) {
        return result_.get(index);
      }
      
      // optional string sessionId = 4;
      public static final int SESSIONID_FIELD_NUMBER = 4;
      private java.lang.Object sessionId_;
      public boolean hasSessionId() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public String getSessionId() {
        java.lang.Object ref = sessionId_;
        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)) {
            sessionId_ = s;
          }
          return s;
        }
      }
      private com.google.protobuf.ByteString getSessionIdBytes() {
        java.lang.Object ref = sessionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
          sessionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      
      // optional bool lastScan = 5;
      public static final int LASTSCAN_FIELD_NUMBER = 5;
      private boolean lastScan_;
      public boolean hasLastScan() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public boolean getLastScan() {
        return lastScan_;
      }
      
      private void initFields() {
        tableName_ = "";
        meta_ = java.util.Collections.emptyList();
        result_ = java.util.Collections.emptyList();
        sessionId_ = "";
        lastScan_ = false;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        for (int i = 0; i < getMetaCount(); i++) {
          if (!getMeta(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        for (int i = 0; i < getResultCount(); i++) {
          if (!getResult(i).isInitialized()) {
            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, getTableNameBytes());
        }
        for (int i = 0; i < meta_.size(); i++) {
          output.writeMessage(2, meta_.get(i));
        }
        for (int i = 0; i < result_.size(); i++) {
          output.writeMessage(3, result_.get(i));
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(4, getSessionIdBytes());
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeBool(5, lastScan_);
        }
        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, getTableNameBytes());
        }
        for (int i = 0; i < meta_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, meta_.get(i));
        }
        for (int i = 0; i < result_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, result_.get(i));
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(4, getSessionIdBytes());
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(5, lastScan_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse other = (com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse) obj;
        
        boolean result = true;
        result = result && (hasTableName() == other.hasTableName());
        if (hasTableName()) {
          result = result && getTableName()
              .equals(other.getTableName());
        }
        result = result && getMetaList()
            .equals(other.getMetaList());
        result = result && getResultList()
            .equals(other.getResultList());
        result = result && (hasSessionId() == other.hasSessionId());
        if (hasSessionId()) {
          result = result && getSessionId()
              .equals(other.getSessionId());
        }
        result = result && (hasLastScan() == other.hasLastScan());
        if (hasLastScan()) {
          result = result && (getLastScan()
              == other.getLastScan());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasTableName()) {
          hash = (37 * hash) + TABLENAME_FIELD_NUMBER;
          hash = (53 * hash) + getTableName().hashCode();
        }
        if (getMetaCount() > 0) {
          hash = (37 * hash) + META_FIELD_NUMBER;
          hash = (53 * hash) + getMetaList().hashCode();
        }
        if (getResultCount() > 0) {
          hash = (37 * hash) + RESULT_FIELD_NUMBER;
          hash = (53 * hash) + getResultList().hashCode();
        }
        if (hasSessionId()) {
          hash = (37 * hash) + SESSIONID_FIELD_NUMBER;
          hash = (53 * hash) + getSessionId().hashCode();
        }
        if (hasLastScan()) {
          hash = (37 * hash) + LASTSCAN_FIELD_NUMBER;
          hash = (53 * hash) + hashBoolean(getLastScan());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse 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.protobuf.generated.ClientProtos.ExecuteResponse parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse 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.protobuf.generated.ClientProtos.ExecuteResponse 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.protobuf.generated.ClientProtos.ExecuteResponse 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.protobuf.generated.ClientProtos.ExecuteResponse parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse 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.protobuf.generated.ClientProtos.ExecuteResponse prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.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.protobuf.generated.ClientProtos.ExecuteResponseOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_ExecuteResponse_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_ExecuteResponse_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getMetaFieldBuilder();
            getResultFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          tableName_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          if (metaBuilder_ == null) {
            meta_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            metaBuilder_.clear();
          }
          if (resultBuilder_ == null) {
            result_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            resultBuilder_.clear();
          }
          sessionId_ = "";
          bitField0_ = (bitField0_ & ~0x00000008);
          lastScan_ = false;
          bitField0_ = (bitField0_ & ~0x00000010);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse build() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse result = new com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.tableName_ = tableName_;
          if (metaBuilder_ == null) {
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
              meta_ = java.util.Collections.unmodifiableList(meta_);
              bitField0_ = (bitField0_ & ~0x00000002);
            }
            result.meta_ = meta_;
          } else {
            result.meta_ = metaBuilder_.build();
          }
          if (resultBuilder_ == null) {
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              result_ = java.util.Collections.unmodifiableList(result_);
              bitField0_ = (bitField0_ & ~0x00000004);
            }
            result.result_ = result_;
          } else {
            result.result_ = resultBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000002;
          }
          result.sessionId_ = sessionId_;
          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
            to_bitField0_ |= 0x00000004;
          }
          result.lastScan_ = lastScan_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse.getDefaultInstance()) return this;
          if (other.hasTableName()) {
            setTableName(other.getTableName());
          }
          if (metaBuilder_ == null) {
            if (!other.meta_.isEmpty()) {
              if (meta_.isEmpty()) {
                meta_ = other.meta_;
                bitField0_ = (bitField0_ & ~0x00000002);
              } else {
                ensureMetaIsMutable();
                meta_.addAll(other.meta_);
              }
              onChanged();
            }
          } else {
            if (!other.meta_.isEmpty()) {
              if (metaBuilder_.isEmpty()) {
                metaBuilder_.dispose();
                metaBuilder_ = null;
                meta_ = other.meta_;
                bitField0_ = (bitField0_ & ~0x00000002);
                metaBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getMetaFieldBuilder() : null;
              } else {
                metaBuilder_.addAllMessages(other.meta_);
              }
            }
          }
          if (resultBuilder_ == null) {
            if (!other.result_.isEmpty()) {
              if (result_.isEmpty()) {
                result_ = other.result_;
                bitField0_ = (bitField0_ & ~0x00000004);
              } else {
                ensureResultIsMutable();
                result_.addAll(other.result_);
              }
              onChanged();
            }
          } else {
            if (!other.result_.isEmpty()) {
              if (resultBuilder_.isEmpty()) {
                resultBuilder_.dispose();
                resultBuilder_ = null;
                result_ = other.result_;
                bitField0_ = (bitField0_ & ~0x00000004);
                resultBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getResultFieldBuilder() : null;
              } else {
                resultBuilder_.addAllMessages(other.result_);
              }
            }
          }
          if (other.hasSessionId()) {
            setSessionId(other.getSessionId());
          }
          if (other.hasLastScan()) {
            setLastScan(other.getLastScan());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          for (int i = 0; i < getMetaCount(); i++) {
            if (!getMeta(i).isInitialized()) {
              
              return false;
            }
          }
          for (int i = 0; i < getResultCount(); i++) {
            if (!getResult(i).isInitialized()) {
              
              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;
                tableName_ = input.readBytes();
                break;
              }
              case 18: {
                com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder subBuilder = com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.newBuilder();
                input.readMessage(subBuilder, extensionRegistry);
                addMeta(subBuilder.buildPartial());
                break;
              }
              case 26: {
                com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.Builder subBuilder = com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.newBuilder();
                input.readMessage(subBuilder, extensionRegistry);
                addResult(subBuilder.buildPartial());
                break;
              }
              case 34: {
                bitField0_ |= 0x00000008;
                sessionId_ = input.readBytes();
                break;
              }
              case 40: {
                bitField0_ |= 0x00000010;
                lastScan_ = input.readBool();
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // optional string tableName = 1;
        private java.lang.Object tableName_ = "";
        public boolean hasTableName() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public String getTableName() {
          java.lang.Object ref = tableName_;
          if (!(ref instanceof String)) {
            String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
            tableName_ = s;
            return s;
          } else {
            return (String) ref;
          }
        }
        public Builder setTableName(String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
          tableName_ = value;
          onChanged();
          return this;
        }
        public Builder clearTableName() {
          bitField0_ = (bitField0_ & ~0x00000001);
          tableName_ = getDefaultInstance().getTableName();
          onChanged();
          return this;
        }
        void setTableName(com.google.protobuf.ByteString value) {
          bitField0_ |= 0x00000001;
          tableName_ = value;
          onChanged();
        }
        
        // repeated .StringDataTypePair meta = 2;
        private java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair> meta_ =
          java.util.Collections.emptyList();
        private void ensureMetaIsMutable() {
          if (!((bitField0_ & 0x00000002) == 0x00000002)) {
            meta_ = new java.util.ArrayList<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair>(meta_);
            bitField0_ |= 0x00000002;
           }
        }
        
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder> metaBuilder_;
        
        public java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair> getMetaList() {
          if (metaBuilder_ == null) {
            return java.util.Collections.unmodifiableList(meta_);
          } else {
            return metaBuilder_.getMessageList();
          }
        }
        public int getMetaCount() {
          if (metaBuilder_ == null) {
            return meta_.size();
          } else {
            return metaBuilder_.getCount();
          }
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair getMeta(int index) {
          if (metaBuilder_ == null) {
            return meta_.get(index);
          } else {
            return metaBuilder_.getMessage(index);
          }
        }
        public Builder setMeta(
            int index, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair value) {
          if (metaBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureMetaIsMutable();
            meta_.set(index, value);
            onChanged();
          } else {
            metaBuilder_.setMessage(index, value);
          }
          return this;
        }
        public Builder setMeta(
            int index, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder builderForValue) {
          if (metaBuilder_ == null) {
            ensureMetaIsMutable();
            meta_.set(index, builderForValue.build());
            onChanged();
          } else {
            metaBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addMeta(com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair value) {
          if (metaBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureMetaIsMutable();
            meta_.add(value);
            onChanged();
          } else {
            metaBuilder_.addMessage(value);
          }
          return this;
        }
        public Builder addMeta(
            int index, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair value) {
          if (metaBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureMetaIsMutable();
            meta_.add(index, value);
            onChanged();
          } else {
            metaBuilder_.addMessage(index, value);
          }
          return this;
        }
        public Builder addMeta(
            com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder builderForValue) {
          if (metaBuilder_ == null) {
            ensureMetaIsMutable();
            meta_.add(builderForValue.build());
            onChanged();
          } else {
            metaBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        public Builder addMeta(
            int index, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder builderForValue) {
          if (metaBuilder_ == null) {
            ensureMetaIsMutable();
            meta_.add(index, builderForValue.build());
            onChanged();
          } else {
            metaBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addAllMeta(
            java.lang.Iterable<? extends com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair> values) {
          if (metaBuilder_ == null) {
            ensureMetaIsMutable();
            super.addAll(values, meta_);
            onChanged();
          } else {
            metaBuilder_.addAllMessages(values);
          }
          return this;
        }
        public Builder clearMeta() {
          if (metaBuilder_ == null) {
            meta_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
            onChanged();
          } else {
            metaBuilder_.clear();
          }
          return this;
        }
        public Builder removeMeta(int index) {
          if (metaBuilder_ == null) {
            ensureMetaIsMutable();
            meta_.remove(index);
            onChanged();
          } else {
            metaBuilder_.remove(index);
          }
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder getMetaBuilder(
            int index) {
          return getMetaFieldBuilder().getBuilder(index);
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder getMetaOrBuilder(
            int index) {
          if (metaBuilder_ == null) {
            return meta_.get(index);  } else {
            return metaBuilder_.getMessageOrBuilder(index);
          }
        }
        public java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder> 
             getMetaOrBuilderList() {
          if (metaBuilder_ != null) {
            return metaBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(meta_);
          }
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder addMetaBuilder() {
          return getMetaFieldBuilder().addBuilder(
              com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.getDefaultInstance());
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder addMetaBuilder(
            int index) {
          return getMetaFieldBuilder().addBuilder(
              index, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.getDefaultInstance());
        }
        public java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder> 
             getMetaBuilderList() {
          return getMetaFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder> 
            getMetaFieldBuilder() {
          if (metaBuilder_ == null) {
            metaBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder>(
                    meta_,
                    ((bitField0_ & 0x00000002) == 0x00000002),
                    getParentForChildren(),
                    isClean());
            meta_ = null;
          }
          return metaBuilder_;
        }
        
        // repeated .ExecuteResultProto result = 3;
        private java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto> result_ =
          java.util.Collections.emptyList();
        private void ensureResultIsMutable() {
          if (!((bitField0_ & 0x00000004) == 0x00000004)) {
            result_ = new java.util.ArrayList<com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto>(result_);
            bitField0_ |= 0x00000004;
           }
        }
        
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProtoOrBuilder> resultBuilder_;
        
        public java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto> getResultList() {
          if (resultBuilder_ == null) {
            return java.util.Collections.unmodifiableList(result_);
          } else {
            return resultBuilder_.getMessageList();
          }
        }
        public int getResultCount() {
          if (resultBuilder_ == null) {
            return result_.size();
          } else {
            return resultBuilder_.getCount();
          }
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto getResult(int index) {
          if (resultBuilder_ == null) {
            return result_.get(index);
          } else {
            return resultBuilder_.getMessage(index);
          }
        }
        public Builder setResult(
            int index, com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto value) {
          if (resultBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureResultIsMutable();
            result_.set(index, value);
            onChanged();
          } else {
            resultBuilder_.setMessage(index, value);
          }
          return this;
        }
        public Builder setResult(
            int index, com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.Builder builderForValue) {
          if (resultBuilder_ == null) {
            ensureResultIsMutable();
            result_.set(index, builderForValue.build());
            onChanged();
          } else {
            resultBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addResult(com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto value) {
          if (resultBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureResultIsMutable();
            result_.add(value);
            onChanged();
          } else {
            resultBuilder_.addMessage(value);
          }
          return this;
        }
        public Builder addResult(
            int index, com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto value) {
          if (resultBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureResultIsMutable();
            result_.add(index, value);
            onChanged();
          } else {
            resultBuilder_.addMessage(index, value);
          }
          return this;
        }
        public Builder addResult(
            com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.Builder builderForValue) {
          if (resultBuilder_ == null) {
            ensureResultIsMutable();
            result_.add(builderForValue.build());
            onChanged();
          } else {
            resultBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        public Builder addResult(
            int index, com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.Builder builderForValue) {
          if (resultBuilder_ == null) {
            ensureResultIsMutable();
            result_.add(index, builderForValue.build());
            onChanged();
          } else {
            resultBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addAllResult(
            java.lang.Iterable<? extends com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto> values) {
          if (resultBuilder_ == null) {
            ensureResultIsMutable();
            super.addAll(values, result_);
            onChanged();
          } else {
            resultBuilder_.addAllMessages(values);
          }
          return this;
        }
        public Builder clearResult() {
          if (resultBuilder_ == null) {
            result_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
          } else {
            resultBuilder_.clear();
          }
          return this;
        }
        public Builder removeResult(int index) {
          if (resultBuilder_ == null) {
            ensureResultIsMutable();
            result_.remove(index);
            onChanged();
          } else {
            resultBuilder_.remove(index);
          }
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.Builder getResultBuilder(
            int index) {
          return getResultFieldBuilder().getBuilder(index);
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProtoOrBuilder getResultOrBuilder(
            int index) {
          if (resultBuilder_ == null) {
            return result_.get(index);  } else {
            return resultBuilder_.getMessageOrBuilder(index);
          }
        }
        public java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProtoOrBuilder> 
             getResultOrBuilderList() {
          if (resultBuilder_ != null) {
            return resultBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(result_);
          }
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.Builder addResultBuilder() {
          return getResultFieldBuilder().addBuilder(
              com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.getDefaultInstance());
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.Builder addResultBuilder(
            int index) {
          return getResultFieldBuilder().addBuilder(
              index, com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.getDefaultInstance());
        }
        public java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.Builder> 
             getResultBuilderList() {
          return getResultFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProtoOrBuilder> 
            getResultFieldBuilder() {
          if (resultBuilder_ == null) {
            resultBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProtoOrBuilder>(
                    result_,
                    ((bitField0_ & 0x00000004) == 0x00000004),
                    getParentForChildren(),
                    isClean());
            result_ = null;
          }
          return resultBuilder_;
        }
        
        // optional string sessionId = 4;
        private java.lang.Object sessionId_ = "";
        public boolean hasSessionId() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        public String getSessionId() {
          java.lang.Object ref = sessionId_;
          if (!(ref instanceof String)) {
            String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
            sessionId_ = s;
            return s;
          } else {
            return (String) ref;
          }
        }
        public Builder setSessionId(String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000008;
          sessionId_ = value;
          onChanged();
          return this;
        }
        public Builder clearSessionId() {
          bitField0_ = (bitField0_ & ~0x00000008);
          sessionId_ = getDefaultInstance().getSessionId();
          onChanged();
          return this;
        }
        void setSessionId(com.google.protobuf.ByteString value) {
          bitField0_ |= 0x00000008;
          sessionId_ = value;
          onChanged();
        }
        
        // optional bool lastScan = 5;
        private boolean lastScan_ ;
        public boolean hasLastScan() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        public boolean getLastScan() {
          return lastScan_;
        }
        public Builder setLastScan(boolean value) {
          bitField0_ |= 0x00000010;
          lastScan_ = value;
          onChanged();
          return this;
        }
        public Builder clearLastScan() {
          bitField0_ = (bitField0_ & ~0x00000010);
          lastScan_ = false;
          onChanged();
          return this;
        }
        
        // @@protoc_insertion_point(builder_scope:ExecuteResponse)
      }
      
      static {
        defaultInstance = new ExecuteResponse(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:ExecuteResponse)
    }
    
    public interface GetRequestOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required .EntityGroupSpecifier entityGroup = 1;
      boolean hasEntityGroup();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroup();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupOrBuilder();
      
      // required .GetActionProto get = 2;
      boolean hasGet();
      com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto getGet();
      com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProtoOrBuilder getGetOrBuilder();
    }
    public static final class GetRequest extends
        com.google.protobuf.GeneratedMessage
        implements GetRequestOrBuilder {
      // Use GetRequest.newBuilder() to construct.
      private GetRequest(Builder builder) {
        super(builder);
      }
      private GetRequest(boolean noInit) {}
      
      private static final GetRequest defaultInstance;
      public static GetRequest getDefaultInstance() {
        return defaultInstance;
      }
      
      public GetRequest getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_GetRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_GetRequest_fieldAccessorTable;
      }
      
      private int bitField0_;
      // required .EntityGroupSpecifier entityGroup = 1;
      public static final int ENTITYGROUP_FIELD_NUMBER = 1;
      private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier entityGroup_;
      public boolean hasEntityGroup() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroup() {
        return entityGroup_;
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupOrBuilder() {
        return entityGroup_;
      }
      
      // required .GetActionProto get = 2;
      public static final int GET_FIELD_NUMBER = 2;
      private com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto get_;
      public boolean hasGet() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto getGet() {
        return get_;
      }
      public com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProtoOrBuilder getGetOrBuilder() {
        return get_;
      }
      
      private void initFields() {
        entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
        get_ = com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasEntityGroup()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasGet()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getEntityGroup().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getGet().isInitialized()) {
          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.writeMessage(1, entityGroup_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(2, get_);
        }
        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
            .computeMessageSize(1, entityGroup_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, get_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest other = (com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest) obj;
        
        boolean result = true;
        result = result && (hasEntityGroup() == other.hasEntityGroup());
        if (hasEntityGroup()) {
          result = result && getEntityGroup()
              .equals(other.getEntityGroup());
        }
        result = result && (hasGet() == other.hasGet());
        if (hasGet()) {
          result = result && getGet()
              .equals(other.getGet());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasEntityGroup()) {
          hash = (37 * hash) + ENTITYGROUP_FIELD_NUMBER;
          hash = (53 * hash) + getEntityGroup().hashCode();
        }
        if (hasGet()) {
          hash = (37 * hash) + GET_FIELD_NUMBER;
          hash = (53 * hash) + getGet().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest 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.protobuf.generated.ClientProtos.GetRequest parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest 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.protobuf.generated.ClientProtos.GetRequest 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.protobuf.generated.ClientProtos.GetRequest 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.protobuf.generated.ClientProtos.GetRequest parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest 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.protobuf.generated.ClientProtos.GetRequest prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.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.protobuf.generated.ClientProtos.GetRequestOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_GetRequest_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_GetRequest_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getEntityGroupFieldBuilder();
            getGetFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          if (entityGroupBuilder_ == null) {
            entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
          } else {
            entityGroupBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          if (getBuilder_ == null) {
            get_ = com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto.getDefaultInstance();
          } else {
            getBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest build() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest result = new com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (entityGroupBuilder_ == null) {
            result.entityGroup_ = entityGroup_;
          } else {
            result.entityGroup_ = entityGroupBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (getBuilder_ == null) {
            result.get_ = get_;
          } else {
            result.get_ = getBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest.getDefaultInstance()) return this;
          if (other.hasEntityGroup()) {
            mergeEntityGroup(other.getEntityGroup());
          }
          if (other.hasGet()) {
            mergeGet(other.getGet());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasEntityGroup()) {
            
            return false;
          }
          if (!hasGet()) {
            
            return false;
          }
          if (!getEntityGroup().isInitialized()) {
            
            return false;
          }
          if (!getGet().isInitialized()) {
            
            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: {
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder subBuilder = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.newBuilder();
                if (hasEntityGroup()) {
                  subBuilder.mergeFrom(getEntityGroup());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setEntityGroup(subBuilder.buildPartial());
                break;
              }
              case 18: {
                com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto.Builder subBuilder = com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto.newBuilder();
                if (hasGet()) {
                  subBuilder.mergeFrom(getGet());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setGet(subBuilder.buildPartial());
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required .EntityGroupSpecifier entityGroup = 1;
        private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder> entityGroupBuilder_;
        public boolean hasEntityGroup() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroup() {
          if (entityGroupBuilder_ == null) {
            return entityGroup_;
          } else {
            return entityGroupBuilder_.getMessage();
          }
        }
        public Builder setEntityGroup(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier value) {
          if (entityGroupBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            entityGroup_ = value;
            onChanged();
          } else {
            entityGroupBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder setEntityGroup(
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder builderForValue) {
          if (entityGroupBuilder_ == null) {
            entityGroup_ = builderForValue.build();
            onChanged();
          } else {
            entityGroupBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder mergeEntityGroup(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier value) {
          if (entityGroupBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                entityGroup_ != com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance()) {
              entityGroup_ =
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.newBuilder(entityGroup_).mergeFrom(value).buildPartial();
            } else {
              entityGroup_ = value;
            }
            onChanged();
          } else {
            entityGroupBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder clearEntityGroup() {
          if (entityGroupBuilder_ == null) {
            entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
            onChanged();
          } else {
            entityGroupBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder getEntityGroupBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getEntityGroupFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupOrBuilder() {
          if (entityGroupBuilder_ != null) {
            return entityGroupBuilder_.getMessageOrBuilder();
          } else {
            return entityGroup_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder> 
            getEntityGroupFieldBuilder() {
          if (entityGroupBuilder_ == null) {
            entityGroupBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder>(
                    entityGroup_,
                    getParentForChildren(),
                    isClean());
            entityGroup_ = null;
          }
          return entityGroupBuilder_;
        }
        
        // required .GetActionProto get = 2;
        private com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto get_ = com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto, com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto.Builder, com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProtoOrBuilder> getBuilder_;
        public boolean hasGet() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto getGet() {
          if (getBuilder_ == null) {
            return get_;
          } else {
            return getBuilder_.getMessage();
          }
        }
        public Builder setGet(com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto value) {
          if (getBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            get_ = value;
            onChanged();
          } else {
            getBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder setGet(
            com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto.Builder builderForValue) {
          if (getBuilder_ == null) {
            get_ = builderForValue.build();
            onChanged();
          } else {
            getBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder mergeGet(com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto value) {
          if (getBuilder_ == null) {
            if (((bitField0_ & 0x00000002) == 0x00000002) &&
                get_ != com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto.getDefaultInstance()) {
              get_ =
                com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto.newBuilder(get_).mergeFrom(value).buildPartial();
            } else {
              get_ = value;
            }
            onChanged();
          } else {
            getBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder clearGet() {
          if (getBuilder_ == null) {
            get_ = com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto.getDefaultInstance();
            onChanged();
          } else {
            getBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto.Builder getGetBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getGetFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProtoOrBuilder getGetOrBuilder() {
          if (getBuilder_ != null) {
            return getBuilder_.getMessageOrBuilder();
          } else {
            return get_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto, com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto.Builder, com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProtoOrBuilder> 
            getGetFieldBuilder() {
          if (getBuilder_ == null) {
            getBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto, com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProto.Builder, com.alibaba.wasp.protobuf.generated.MetaProtos.GetActionProtoOrBuilder>(
                    get_,
                    getParentForChildren(),
                    isClean());
            get_ = null;
          }
          return getBuilder_;
        }
        
        // @@protoc_insertion_point(builder_scope:GetRequest)
      }
      
      static {
        defaultInstance = new GetRequest(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:GetRequest)
    }
    
    public interface GetResponseOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // optional .QueryResultProto result = 1;
      boolean hasResult();
      com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto getResult();
      com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder getResultOrBuilder();
      
      // repeated .StringDataTypePair meta = 2;
      java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair> 
          getMetaList();
      com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair getMeta(int index);
      int getMetaCount();
      java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder> 
          getMetaOrBuilderList();
      com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder getMetaOrBuilder(
          int index);
      
      // optional bool exists = 3;
      boolean hasExists();
      boolean getExists();
    }
    public static final class GetResponse extends
        com.google.protobuf.GeneratedMessage
        implements GetResponseOrBuilder {
      // Use GetResponse.newBuilder() to construct.
      private GetResponse(Builder builder) {
        super(builder);
      }
      private GetResponse(boolean noInit) {}
      
      private static final GetResponse defaultInstance;
      public static GetResponse getDefaultInstance() {
        return defaultInstance;
      }
      
      public GetResponse getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_GetResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_GetResponse_fieldAccessorTable;
      }
      
      private int bitField0_;
      // optional .QueryResultProto result = 1;
      public static final int RESULT_FIELD_NUMBER = 1;
      private com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto result_;
      public boolean hasResult() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto getResult() {
        return result_;
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder getResultOrBuilder() {
        return result_;
      }
      
      // repeated .StringDataTypePair meta = 2;
      public static final int META_FIELD_NUMBER = 2;
      private java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair> meta_;
      public java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair> getMetaList() {
        return meta_;
      }
      public java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder> 
          getMetaOrBuilderList() {
        return meta_;
      }
      public int getMetaCount() {
        return meta_.size();
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair getMeta(int index) {
        return meta_.get(index);
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder getMetaOrBuilder(
          int index) {
        return meta_.get(index);
      }
      
      // optional bool exists = 3;
      public static final int EXISTS_FIELD_NUMBER = 3;
      private boolean exists_;
      public boolean hasExists() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public boolean getExists() {
        return exists_;
      }
      
      private void initFields() {
        result_ = com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.getDefaultInstance();
        meta_ = java.util.Collections.emptyList();
        exists_ = false;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (hasResult()) {
          if (!getResult().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        for (int i = 0; i < getMetaCount(); i++) {
          if (!getMeta(i).isInitialized()) {
            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.writeMessage(1, result_);
        }
        for (int i = 0; i < meta_.size(); i++) {
          output.writeMessage(2, meta_.get(i));
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBool(3, exists_);
        }
        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
            .computeMessageSize(1, result_);
        }
        for (int i = 0; i < meta_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, meta_.get(i));
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(3, exists_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse other = (com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse) obj;
        
        boolean result = true;
        result = result && (hasResult() == other.hasResult());
        if (hasResult()) {
          result = result && getResult()
              .equals(other.getResult());
        }
        result = result && getMetaList()
            .equals(other.getMetaList());
        result = result && (hasExists() == other.hasExists());
        if (hasExists()) {
          result = result && (getExists()
              == other.getExists());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasResult()) {
          hash = (37 * hash) + RESULT_FIELD_NUMBER;
          hash = (53 * hash) + getResult().hashCode();
        }
        if (getMetaCount() > 0) {
          hash = (37 * hash) + META_FIELD_NUMBER;
          hash = (53 * hash) + getMetaList().hashCode();
        }
        if (hasExists()) {
          hash = (37 * hash) + EXISTS_FIELD_NUMBER;
          hash = (53 * hash) + hashBoolean(getExists());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse 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.protobuf.generated.ClientProtos.GetResponse parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse 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.protobuf.generated.ClientProtos.GetResponse 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.protobuf.generated.ClientProtos.GetResponse 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.protobuf.generated.ClientProtos.GetResponse parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse 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.protobuf.generated.ClientProtos.GetResponse prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.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.protobuf.generated.ClientProtos.GetResponseOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_GetResponse_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_GetResponse_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getResultFieldBuilder();
            getMetaFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          if (resultBuilder_ == null) {
            result_ = com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.getDefaultInstance();
          } else {
            resultBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          if (metaBuilder_ == null) {
            meta_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            metaBuilder_.clear();
          }
          exists_ = false;
          bitField0_ = (bitField0_ & ~0x00000004);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse build() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse result = new com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (resultBuilder_ == null) {
            result.result_ = result_;
          } else {
            result.result_ = resultBuilder_.build();
          }
          if (metaBuilder_ == null) {
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
              meta_ = java.util.Collections.unmodifiableList(meta_);
              bitField0_ = (bitField0_ & ~0x00000002);
            }
            result.meta_ = meta_;
          } else {
            result.meta_ = metaBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000002;
          }
          result.exists_ = exists_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse.getDefaultInstance()) return this;
          if (other.hasResult()) {
            mergeResult(other.getResult());
          }
          if (metaBuilder_ == null) {
            if (!other.meta_.isEmpty()) {
              if (meta_.isEmpty()) {
                meta_ = other.meta_;
                bitField0_ = (bitField0_ & ~0x00000002);
              } else {
                ensureMetaIsMutable();
                meta_.addAll(other.meta_);
              }
              onChanged();
            }
          } else {
            if (!other.meta_.isEmpty()) {
              if (metaBuilder_.isEmpty()) {
                metaBuilder_.dispose();
                metaBuilder_ = null;
                meta_ = other.meta_;
                bitField0_ = (bitField0_ & ~0x00000002);
                metaBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getMetaFieldBuilder() : null;
              } else {
                metaBuilder_.addAllMessages(other.meta_);
              }
            }
          }
          if (other.hasExists()) {
            setExists(other.getExists());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (hasResult()) {
            if (!getResult().isInitialized()) {
              
              return false;
            }
          }
          for (int i = 0; i < getMetaCount(); i++) {
            if (!getMeta(i).isInitialized()) {
              
              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: {
                com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder subBuilder = com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.newBuilder();
                if (hasResult()) {
                  subBuilder.mergeFrom(getResult());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setResult(subBuilder.buildPartial());
                break;
              }
              case 18: {
                com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder subBuilder = com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.newBuilder();
                input.readMessage(subBuilder, extensionRegistry);
                addMeta(subBuilder.buildPartial());
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                exists_ = input.readBool();
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // optional .QueryResultProto result = 1;
        private com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto result_ = com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder> resultBuilder_;
        public boolean hasResult() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto getResult() {
          if (resultBuilder_ == null) {
            return result_;
          } else {
            return resultBuilder_.getMessage();
          }
        }
        public Builder setResult(com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto value) {
          if (resultBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            result_ = value;
            onChanged();
          } else {
            resultBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder setResult(
            com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder builderForValue) {
          if (resultBuilder_ == null) {
            result_ = builderForValue.build();
            onChanged();
          } else {
            resultBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder mergeResult(com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto value) {
          if (resultBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                result_ != com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.getDefaultInstance()) {
              result_ =
                com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.newBuilder(result_).mergeFrom(value).buildPartial();
            } else {
              result_ = value;
            }
            onChanged();
          } else {
            resultBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder clearResult() {
          if (resultBuilder_ == null) {
            result_ = com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.getDefaultInstance();
            onChanged();
          } else {
            resultBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder getResultBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getResultFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder getResultOrBuilder() {
          if (resultBuilder_ != null) {
            return resultBuilder_.getMessageOrBuilder();
          } else {
            return result_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder> 
            getResultFieldBuilder() {
          if (resultBuilder_ == null) {
            resultBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder>(
                    result_,
                    getParentForChildren(),
                    isClean());
            result_ = null;
          }
          return resultBuilder_;
        }
        
        // repeated .StringDataTypePair meta = 2;
        private java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair> meta_ =
          java.util.Collections.emptyList();
        private void ensureMetaIsMutable() {
          if (!((bitField0_ & 0x00000002) == 0x00000002)) {
            meta_ = new java.util.ArrayList<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair>(meta_);
            bitField0_ |= 0x00000002;
           }
        }
        
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder> metaBuilder_;
        
        public java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair> getMetaList() {
          if (metaBuilder_ == null) {
            return java.util.Collections.unmodifiableList(meta_);
          } else {
            return metaBuilder_.getMessageList();
          }
        }
        public int getMetaCount() {
          if (metaBuilder_ == null) {
            return meta_.size();
          } else {
            return metaBuilder_.getCount();
          }
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair getMeta(int index) {
          if (metaBuilder_ == null) {
            return meta_.get(index);
          } else {
            return metaBuilder_.getMessage(index);
          }
        }
        public Builder setMeta(
            int index, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair value) {
          if (metaBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureMetaIsMutable();
            meta_.set(index, value);
            onChanged();
          } else {
            metaBuilder_.setMessage(index, value);
          }
          return this;
        }
        public Builder setMeta(
            int index, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder builderForValue) {
          if (metaBuilder_ == null) {
            ensureMetaIsMutable();
            meta_.set(index, builderForValue.build());
            onChanged();
          } else {
            metaBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addMeta(com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair value) {
          if (metaBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureMetaIsMutable();
            meta_.add(value);
            onChanged();
          } else {
            metaBuilder_.addMessage(value);
          }
          return this;
        }
        public Builder addMeta(
            int index, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair value) {
          if (metaBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureMetaIsMutable();
            meta_.add(index, value);
            onChanged();
          } else {
            metaBuilder_.addMessage(index, value);
          }
          return this;
        }
        public Builder addMeta(
            com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder builderForValue) {
          if (metaBuilder_ == null) {
            ensureMetaIsMutable();
            meta_.add(builderForValue.build());
            onChanged();
          } else {
            metaBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        public Builder addMeta(
            int index, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder builderForValue) {
          if (metaBuilder_ == null) {
            ensureMetaIsMutable();
            meta_.add(index, builderForValue.build());
            onChanged();
          } else {
            metaBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addAllMeta(
            java.lang.Iterable<? extends com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair> values) {
          if (metaBuilder_ == null) {
            ensureMetaIsMutable();
            super.addAll(values, meta_);
            onChanged();
          } else {
            metaBuilder_.addAllMessages(values);
          }
          return this;
        }
        public Builder clearMeta() {
          if (metaBuilder_ == null) {
            meta_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
            onChanged();
          } else {
            metaBuilder_.clear();
          }
          return this;
        }
        public Builder removeMeta(int index) {
          if (metaBuilder_ == null) {
            ensureMetaIsMutable();
            meta_.remove(index);
            onChanged();
          } else {
            metaBuilder_.remove(index);
          }
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder getMetaBuilder(
            int index) {
          return getMetaFieldBuilder().getBuilder(index);
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder getMetaOrBuilder(
            int index) {
          if (metaBuilder_ == null) {
            return meta_.get(index);  } else {
            return metaBuilder_.getMessageOrBuilder(index);
          }
        }
        public java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder> 
             getMetaOrBuilderList() {
          if (metaBuilder_ != null) {
            return metaBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(meta_);
          }
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder addMetaBuilder() {
          return getMetaFieldBuilder().addBuilder(
              com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.getDefaultInstance());
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder addMetaBuilder(
            int index) {
          return getMetaFieldBuilder().addBuilder(
              index, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.getDefaultInstance());
        }
        public java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder> 
             getMetaBuilderList() {
          return getMetaFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder> 
            getMetaFieldBuilder() {
          if (metaBuilder_ == null) {
            metaBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder>(
                    meta_,
                    ((bitField0_ & 0x00000002) == 0x00000002),
                    getParentForChildren(),
                    isClean());
            meta_ = null;
          }
          return metaBuilder_;
        }
        
        // optional bool exists = 3;
        private boolean exists_ ;
        public boolean hasExists() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        public boolean getExists() {
          return exists_;
        }
        public Builder setExists(boolean value) {
          bitField0_ |= 0x00000004;
          exists_ = value;
          onChanged();
          return this;
        }
        public Builder clearExists() {
          bitField0_ = (bitField0_ & ~0x00000004);
          exists_ = false;
          onChanged();
          return this;
        }
        
        // @@protoc_insertion_point(builder_scope:GetResponse)
      }
      
      static {
        defaultInstance = new GetResponse(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:GetResponse)
    }
    
    public interface ScanRequestOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required .ScanActionProto scanAction = 1;
      boolean hasScanAction();
      com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto getScanAction();
      com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProtoOrBuilder getScanActionOrBuilder();
      
      // optional uint64 scannerId = 2;
      boolean hasScannerId();
      long getScannerId();
      
      // optional bool closeScanner = 3 [default = false];
      boolean hasCloseScanner();
      boolean getCloseScanner();
      
      // required .EntityGroupSpecifier entityGroup = 4;
      boolean hasEntityGroup();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroup();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupOrBuilder();
    }
    public static final class ScanRequest extends
        com.google.protobuf.GeneratedMessage
        implements ScanRequestOrBuilder {
      // Use ScanRequest.newBuilder() to construct.
      private ScanRequest(Builder builder) {
        super(builder);
      }
      private ScanRequest(boolean noInit) {}
      
      private static final ScanRequest defaultInstance;
      public static ScanRequest getDefaultInstance() {
        return defaultInstance;
      }
      
      public ScanRequest getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_ScanRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_ScanRequest_fieldAccessorTable;
      }
      
      private int bitField0_;
      // required .ScanActionProto scanAction = 1;
      public static final int SCANACTION_FIELD_NUMBER = 1;
      private com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto scanAction_;
      public boolean hasScanAction() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto getScanAction() {
        return scanAction_;
      }
      public com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProtoOrBuilder getScanActionOrBuilder() {
        return scanAction_;
      }
      
      // optional uint64 scannerId = 2;
      public static final int SCANNERID_FIELD_NUMBER = 2;
      private long scannerId_;
      public boolean hasScannerId() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public long getScannerId() {
        return scannerId_;
      }
      
      // optional bool closeScanner = 3 [default = false];
      public static final int CLOSESCANNER_FIELD_NUMBER = 3;
      private boolean closeScanner_;
      public boolean hasCloseScanner() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public boolean getCloseScanner() {
        return closeScanner_;
      }
      
      // required .EntityGroupSpecifier entityGroup = 4;
      public static final int ENTITYGROUP_FIELD_NUMBER = 4;
      private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier entityGroup_;
      public boolean hasEntityGroup() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroup() {
        return entityGroup_;
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupOrBuilder() {
        return entityGroup_;
      }
      
      private void initFields() {
        scanAction_ = com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto.getDefaultInstance();
        scannerId_ = 0L;
        closeScanner_ = false;
        entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasScanAction()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasEntityGroup()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getScanAction().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getEntityGroup().isInitialized()) {
          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.writeMessage(1, scanAction_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeUInt64(2, scannerId_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeBool(3, closeScanner_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeMessage(4, entityGroup_);
        }
        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
            .computeMessageSize(1, scanAction_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(2, scannerId_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(3, closeScanner_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(4, entityGroup_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest other = (com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest) obj;
        
        boolean result = true;
        result = result && (hasScanAction() == other.hasScanAction());
        if (hasScanAction()) {
          result = result && getScanAction()
              .equals(other.getScanAction());
        }
        result = result && (hasScannerId() == other.hasScannerId());
        if (hasScannerId()) {
          result = result && (getScannerId()
              == other.getScannerId());
        }
        result = result && (hasCloseScanner() == other.hasCloseScanner());
        if (hasCloseScanner()) {
          result = result && (getCloseScanner()
              == other.getCloseScanner());
        }
        result = result && (hasEntityGroup() == other.hasEntityGroup());
        if (hasEntityGroup()) {
          result = result && getEntityGroup()
              .equals(other.getEntityGroup());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasScanAction()) {
          hash = (37 * hash) + SCANACTION_FIELD_NUMBER;
          hash = (53 * hash) + getScanAction().hashCode();
        }
        if (hasScannerId()) {
          hash = (37 * hash) + SCANNERID_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getScannerId());
        }
        if (hasCloseScanner()) {
          hash = (37 * hash) + CLOSESCANNER_FIELD_NUMBER;
          hash = (53 * hash) + hashBoolean(getCloseScanner());
        }
        if (hasEntityGroup()) {
          hash = (37 * hash) + ENTITYGROUP_FIELD_NUMBER;
          hash = (53 * hash) + getEntityGroup().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest 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.protobuf.generated.ClientProtos.ScanRequest parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest 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.protobuf.generated.ClientProtos.ScanRequest 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.protobuf.generated.ClientProtos.ScanRequest 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.protobuf.generated.ClientProtos.ScanRequest parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest 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.protobuf.generated.ClientProtos.ScanRequest prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.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.protobuf.generated.ClientProtos.ScanRequestOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_ScanRequest_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_ScanRequest_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getScanActionFieldBuilder();
            getEntityGroupFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          if (scanActionBuilder_ == null) {
            scanAction_ = com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto.getDefaultInstance();
          } else {
            scanActionBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          scannerId_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000002);
          closeScanner_ = false;
          bitField0_ = (bitField0_ & ~0x00000004);
          if (entityGroupBuilder_ == null) {
            entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
          } else {
            entityGroupBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000008);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest build() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest result = new com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (scanActionBuilder_ == null) {
            result.scanAction_ = scanAction_;
          } else {
            result.scanAction_ = scanActionBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.scannerId_ = scannerId_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.closeScanner_ = closeScanner_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          if (entityGroupBuilder_ == null) {
            result.entityGroup_ = entityGroup_;
          } else {
            result.entityGroup_ = entityGroupBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest.getDefaultInstance()) return this;
          if (other.hasScanAction()) {
            mergeScanAction(other.getScanAction());
          }
          if (other.hasScannerId()) {
            setScannerId(other.getScannerId());
          }
          if (other.hasCloseScanner()) {
            setCloseScanner(other.getCloseScanner());
          }
          if (other.hasEntityGroup()) {
            mergeEntityGroup(other.getEntityGroup());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasScanAction()) {
            
            return false;
          }
          if (!hasEntityGroup()) {
            
            return false;
          }
          if (!getScanAction().isInitialized()) {
            
            return false;
          }
          if (!getEntityGroup().isInitialized()) {
            
            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: {
                com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto.Builder subBuilder = com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto.newBuilder();
                if (hasScanAction()) {
                  subBuilder.mergeFrom(getScanAction());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setScanAction(subBuilder.buildPartial());
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                scannerId_ = input.readUInt64();
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                closeScanner_ = input.readBool();
                break;
              }
              case 34: {
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder subBuilder = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.newBuilder();
                if (hasEntityGroup()) {
                  subBuilder.mergeFrom(getEntityGroup());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setEntityGroup(subBuilder.buildPartial());
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required .ScanActionProto scanAction = 1;
        private com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto scanAction_ = com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto, com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto.Builder, com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProtoOrBuilder> scanActionBuilder_;
        public boolean hasScanAction() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto getScanAction() {
          if (scanActionBuilder_ == null) {
            return scanAction_;
          } else {
            return scanActionBuilder_.getMessage();
          }
        }
        public Builder setScanAction(com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto value) {
          if (scanActionBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            scanAction_ = value;
            onChanged();
          } else {
            scanActionBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder setScanAction(
            com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto.Builder builderForValue) {
          if (scanActionBuilder_ == null) {
            scanAction_ = builderForValue.build();
            onChanged();
          } else {
            scanActionBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder mergeScanAction(com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto value) {
          if (scanActionBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                scanAction_ != com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto.getDefaultInstance()) {
              scanAction_ =
                com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto.newBuilder(scanAction_).mergeFrom(value).buildPartial();
            } else {
              scanAction_ = value;
            }
            onChanged();
          } else {
            scanActionBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder clearScanAction() {
          if (scanActionBuilder_ == null) {
            scanAction_ = com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto.getDefaultInstance();
            onChanged();
          } else {
            scanActionBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto.Builder getScanActionBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getScanActionFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProtoOrBuilder getScanActionOrBuilder() {
          if (scanActionBuilder_ != null) {
            return scanActionBuilder_.getMessageOrBuilder();
          } else {
            return scanAction_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto, com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto.Builder, com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProtoOrBuilder> 
            getScanActionFieldBuilder() {
          if (scanActionBuilder_ == null) {
            scanActionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto, com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProto.Builder, com.alibaba.wasp.protobuf.generated.MetaProtos.ScanActionProtoOrBuilder>(
                    scanAction_,
                    getParentForChildren(),
                    isClean());
            scanAction_ = null;
          }
          return scanActionBuilder_;
        }
        
        // optional uint64 scannerId = 2;
        private long scannerId_ ;
        public boolean hasScannerId() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public long getScannerId() {
          return scannerId_;
        }
        public Builder setScannerId(long value) {
          bitField0_ |= 0x00000002;
          scannerId_ = value;
          onChanged();
          return this;
        }
        public Builder clearScannerId() {
          bitField0_ = (bitField0_ & ~0x00000002);
          scannerId_ = 0L;
          onChanged();
          return this;
        }
        
        // optional bool closeScanner = 3 [default = false];
        private boolean closeScanner_ ;
        public boolean hasCloseScanner() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        public boolean getCloseScanner() {
          return closeScanner_;
        }
        public Builder setCloseScanner(boolean value) {
          bitField0_ |= 0x00000004;
          closeScanner_ = value;
          onChanged();
          return this;
        }
        public Builder clearCloseScanner() {
          bitField0_ = (bitField0_ & ~0x00000004);
          closeScanner_ = false;
          onChanged();
          return this;
        }
        
        // required .EntityGroupSpecifier entityGroup = 4;
        private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder> entityGroupBuilder_;
        public boolean hasEntityGroup() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroup() {
          if (entityGroupBuilder_ == null) {
            return entityGroup_;
          } else {
            return entityGroupBuilder_.getMessage();
          }
        }
        public Builder setEntityGroup(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier value) {
          if (entityGroupBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            entityGroup_ = value;
            onChanged();
          } else {
            entityGroupBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000008;
          return this;
        }
        public Builder setEntityGroup(
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder builderForValue) {
          if (entityGroupBuilder_ == null) {
            entityGroup_ = builderForValue.build();
            onChanged();
          } else {
            entityGroupBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000008;
          return this;
        }
        public Builder mergeEntityGroup(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier value) {
          if (entityGroupBuilder_ == null) {
            if (((bitField0_ & 0x00000008) == 0x00000008) &&
                entityGroup_ != com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance()) {
              entityGroup_ =
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.newBuilder(entityGroup_).mergeFrom(value).buildPartial();
            } else {
              entityGroup_ = value;
            }
            onChanged();
          } else {
            entityGroupBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000008;
          return this;
        }
        public Builder clearEntityGroup() {
          if (entityGroupBuilder_ == null) {
            entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
            onChanged();
          } else {
            entityGroupBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000008);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder getEntityGroupBuilder() {
          bitField0_ |= 0x00000008;
          onChanged();
          return getEntityGroupFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupOrBuilder() {
          if (entityGroupBuilder_ != null) {
            return entityGroupBuilder_.getMessageOrBuilder();
          } else {
            return entityGroup_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder> 
            getEntityGroupFieldBuilder() {
          if (entityGroupBuilder_ == null) {
            entityGroupBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder>(
                    entityGroup_,
                    getParentForChildren(),
                    isClean());
            entityGroup_ = null;
          }
          return entityGroupBuilder_;
        }
        
        // @@protoc_insertion_point(builder_scope:ScanRequest)
      }
      
      static {
        defaultInstance = new ScanRequest(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:ScanRequest)
    }
    
    public interface ScanResponseOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // repeated .QueryResultProto result = 1;
      java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto> 
          getResultList();
      com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto getResult(int index);
      int getResultCount();
      java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder> 
          getResultOrBuilderList();
      com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder getResultOrBuilder(
          int index);
      
      // repeated .StringDataTypePair meta = 2;
      java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair> 
          getMetaList();
      com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair getMeta(int index);
      int getMetaCount();
      java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder> 
          getMetaOrBuilderList();
      com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder getMetaOrBuilder(
          int index);
      
      // required uint64 scannerId = 3;
      boolean hasScannerId();
      long getScannerId();
    }
    public static final class ScanResponse extends
        com.google.protobuf.GeneratedMessage
        implements ScanResponseOrBuilder {
      // Use ScanResponse.newBuilder() to construct.
      private ScanResponse(Builder builder) {
        super(builder);
      }
      private ScanResponse(boolean noInit) {}
      
      private static final ScanResponse defaultInstance;
      public static ScanResponse getDefaultInstance() {
        return defaultInstance;
      }
      
      public ScanResponse getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_ScanResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_ScanResponse_fieldAccessorTable;
      }
      
      private int bitField0_;
      // repeated .QueryResultProto result = 1;
      public static final int RESULT_FIELD_NUMBER = 1;
      private java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto> result_;
      public java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto> getResultList() {
        return result_;
      }
      public java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder> 
          getResultOrBuilderList() {
        return result_;
      }
      public int getResultCount() {
        return result_.size();
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto getResult(int index) {
        return result_.get(index);
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder getResultOrBuilder(
          int index) {
        return result_.get(index);
      }
      
      // repeated .StringDataTypePair meta = 2;
      public static final int META_FIELD_NUMBER = 2;
      private java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair> meta_;
      public java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair> getMetaList() {
        return meta_;
      }
      public java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder> 
          getMetaOrBuilderList() {
        return meta_;
      }
      public int getMetaCount() {
        return meta_.size();
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair getMeta(int index) {
        return meta_.get(index);
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder getMetaOrBuilder(
          int index) {
        return meta_.get(index);
      }
      
      // required uint64 scannerId = 3;
      public static final int SCANNERID_FIELD_NUMBER = 3;
      private long scannerId_;
      public boolean hasScannerId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public long getScannerId() {
        return scannerId_;
      }
      
      private void initFields() {
        result_ = java.util.Collections.emptyList();
        meta_ = java.util.Collections.emptyList();
        scannerId_ = 0L;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasScannerId()) {
          memoizedIsInitialized = 0;
          return false;
        }
        for (int i = 0; i < getResultCount(); i++) {
          if (!getResult(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        for (int i = 0; i < getMetaCount(); i++) {
          if (!getMeta(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
      
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        for (int i = 0; i < result_.size(); i++) {
          output.writeMessage(1, result_.get(i));
        }
        for (int i = 0; i < meta_.size(); i++) {
          output.writeMessage(2, meta_.get(i));
        }
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeUInt64(3, scannerId_);
        }
        getUnknownFields().writeTo(output);
      }
      
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
      
        size = 0;
        for (int i = 0; i < result_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, result_.get(i));
        }
        for (int i = 0; i < meta_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, meta_.get(i));
        }
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(3, scannerId_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse other = (com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse) obj;
        
        boolean result = true;
        result = result && getResultList()
            .equals(other.getResultList());
        result = result && getMetaList()
            .equals(other.getMetaList());
        result = result && (hasScannerId() == other.hasScannerId());
        if (hasScannerId()) {
          result = result && (getScannerId()
              == other.getScannerId());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (getResultCount() > 0) {
          hash = (37 * hash) + RESULT_FIELD_NUMBER;
          hash = (53 * hash) + getResultList().hashCode();
        }
        if (getMetaCount() > 0) {
          hash = (37 * hash) + META_FIELD_NUMBER;
          hash = (53 * hash) + getMetaList().hashCode();
        }
        if (hasScannerId()) {
          hash = (37 * hash) + SCANNERID_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getScannerId());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse 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.protobuf.generated.ClientProtos.ScanResponse parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse 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.protobuf.generated.ClientProtos.ScanResponse 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.protobuf.generated.ClientProtos.ScanResponse 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.protobuf.generated.ClientProtos.ScanResponse parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse 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.protobuf.generated.ClientProtos.ScanResponse prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.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.protobuf.generated.ClientProtos.ScanResponseOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_ScanResponse_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_ScanResponse_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getResultFieldBuilder();
            getMetaFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          if (resultBuilder_ == null) {
            result_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            resultBuilder_.clear();
          }
          if (metaBuilder_ == null) {
            meta_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            metaBuilder_.clear();
          }
          scannerId_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000004);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse build() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse result = new com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (resultBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              result_ = java.util.Collections.unmodifiableList(result_);
              bitField0_ = (bitField0_ & ~0x00000001);
            }
            result.result_ = result_;
          } else {
            result.result_ = resultBuilder_.build();
          }
          if (metaBuilder_ == null) {
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
              meta_ = java.util.Collections.unmodifiableList(meta_);
              bitField0_ = (bitField0_ & ~0x00000002);
            }
            result.meta_ = meta_;
          } else {
            result.meta_ = metaBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000001;
          }
          result.scannerId_ = scannerId_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse.getDefaultInstance()) return this;
          if (resultBuilder_ == null) {
            if (!other.result_.isEmpty()) {
              if (result_.isEmpty()) {
                result_ = other.result_;
                bitField0_ = (bitField0_ & ~0x00000001);
              } else {
                ensureResultIsMutable();
                result_.addAll(other.result_);
              }
              onChanged();
            }
          } else {
            if (!other.result_.isEmpty()) {
              if (resultBuilder_.isEmpty()) {
                resultBuilder_.dispose();
                resultBuilder_ = null;
                result_ = other.result_;
                bitField0_ = (bitField0_ & ~0x00000001);
                resultBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getResultFieldBuilder() : null;
              } else {
                resultBuilder_.addAllMessages(other.result_);
              }
            }
          }
          if (metaBuilder_ == null) {
            if (!other.meta_.isEmpty()) {
              if (meta_.isEmpty()) {
                meta_ = other.meta_;
                bitField0_ = (bitField0_ & ~0x00000002);
              } else {
                ensureMetaIsMutable();
                meta_.addAll(other.meta_);
              }
              onChanged();
            }
          } else {
            if (!other.meta_.isEmpty()) {
              if (metaBuilder_.isEmpty()) {
                metaBuilder_.dispose();
                metaBuilder_ = null;
                meta_ = other.meta_;
                bitField0_ = (bitField0_ & ~0x00000002);
                metaBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getMetaFieldBuilder() : null;
              } else {
                metaBuilder_.addAllMessages(other.meta_);
              }
            }
          }
          if (other.hasScannerId()) {
            setScannerId(other.getScannerId());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasScannerId()) {
            
            return false;
          }
          for (int i = 0; i < getResultCount(); i++) {
            if (!getResult(i).isInitialized()) {
              
              return false;
            }
          }
          for (int i = 0; i < getMetaCount(); i++) {
            if (!getMeta(i).isInitialized()) {
              
              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: {
                com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder subBuilder = com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.newBuilder();
                input.readMessage(subBuilder, extensionRegistry);
                addResult(subBuilder.buildPartial());
                break;
              }
              case 18: {
                com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder subBuilder = com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.newBuilder();
                input.readMessage(subBuilder, extensionRegistry);
                addMeta(subBuilder.buildPartial());
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                scannerId_ = input.readUInt64();
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // repeated .QueryResultProto result = 1;
        private java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto> result_ =
          java.util.Collections.emptyList();
        private void ensureResultIsMutable() {
          if (!((bitField0_ & 0x00000001) == 0x00000001)) {
            result_ = new java.util.ArrayList<com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto>(result_);
            bitField0_ |= 0x00000001;
           }
        }
        
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder> resultBuilder_;
        
        public java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto> getResultList() {
          if (resultBuilder_ == null) {
            return java.util.Collections.unmodifiableList(result_);
          } else {
            return resultBuilder_.getMessageList();
          }
        }
        public int getResultCount() {
          if (resultBuilder_ == null) {
            return result_.size();
          } else {
            return resultBuilder_.getCount();
          }
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto getResult(int index) {
          if (resultBuilder_ == null) {
            return result_.get(index);
          } else {
            return resultBuilder_.getMessage(index);
          }
        }
        public Builder setResult(
            int index, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto value) {
          if (resultBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureResultIsMutable();
            result_.set(index, value);
            onChanged();
          } else {
            resultBuilder_.setMessage(index, value);
          }
          return this;
        }
        public Builder setResult(
            int index, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder builderForValue) {
          if (resultBuilder_ == null) {
            ensureResultIsMutable();
            result_.set(index, builderForValue.build());
            onChanged();
          } else {
            resultBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addResult(com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto value) {
          if (resultBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureResultIsMutable();
            result_.add(value);
            onChanged();
          } else {
            resultBuilder_.addMessage(value);
          }
          return this;
        }
        public Builder addResult(
            int index, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto value) {
          if (resultBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureResultIsMutable();
            result_.add(index, value);
            onChanged();
          } else {
            resultBuilder_.addMessage(index, value);
          }
          return this;
        }
        public Builder addResult(
            com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder builderForValue) {
          if (resultBuilder_ == null) {
            ensureResultIsMutable();
            result_.add(builderForValue.build());
            onChanged();
          } else {
            resultBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        public Builder addResult(
            int index, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder builderForValue) {
          if (resultBuilder_ == null) {
            ensureResultIsMutable();
            result_.add(index, builderForValue.build());
            onChanged();
          } else {
            resultBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addAllResult(
            java.lang.Iterable<? extends com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto> values) {
          if (resultBuilder_ == null) {
            ensureResultIsMutable();
            super.addAll(values, result_);
            onChanged();
          } else {
            resultBuilder_.addAllMessages(values);
          }
          return this;
        }
        public Builder clearResult() {
          if (resultBuilder_ == null) {
            result_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
            onChanged();
          } else {
            resultBuilder_.clear();
          }
          return this;
        }
        public Builder removeResult(int index) {
          if (resultBuilder_ == null) {
            ensureResultIsMutable();
            result_.remove(index);
            onChanged();
          } else {
            resultBuilder_.remove(index);
          }
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder getResultBuilder(
            int index) {
          return getResultFieldBuilder().getBuilder(index);
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder getResultOrBuilder(
            int index) {
          if (resultBuilder_ == null) {
            return result_.get(index);  } else {
            return resultBuilder_.getMessageOrBuilder(index);
          }
        }
        public java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder> 
             getResultOrBuilderList() {
          if (resultBuilder_ != null) {
            return resultBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(result_);
          }
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder addResultBuilder() {
          return getResultFieldBuilder().addBuilder(
              com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.getDefaultInstance());
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder addResultBuilder(
            int index) {
          return getResultFieldBuilder().addBuilder(
              index, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.getDefaultInstance());
        }
        public java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder> 
             getResultBuilderList() {
          return getResultFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder> 
            getResultFieldBuilder() {
          if (resultBuilder_ == null) {
            resultBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProtoOrBuilder>(
                    result_,
                    ((bitField0_ & 0x00000001) == 0x00000001),
                    getParentForChildren(),
                    isClean());
            result_ = null;
          }
          return resultBuilder_;
        }
        
        // repeated .StringDataTypePair meta = 2;
        private java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair> meta_ =
          java.util.Collections.emptyList();
        private void ensureMetaIsMutable() {
          if (!((bitField0_ & 0x00000002) == 0x00000002)) {
            meta_ = new java.util.ArrayList<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair>(meta_);
            bitField0_ |= 0x00000002;
           }
        }
        
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder> metaBuilder_;
        
        public java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair> getMetaList() {
          if (metaBuilder_ == null) {
            return java.util.Collections.unmodifiableList(meta_);
          } else {
            return metaBuilder_.getMessageList();
          }
        }
        public int getMetaCount() {
          if (metaBuilder_ == null) {
            return meta_.size();
          } else {
            return metaBuilder_.getCount();
          }
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair getMeta(int index) {
          if (metaBuilder_ == null) {
            return meta_.get(index);
          } else {
            return metaBuilder_.getMessage(index);
          }
        }
        public Builder setMeta(
            int index, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair value) {
          if (metaBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureMetaIsMutable();
            meta_.set(index, value);
            onChanged();
          } else {
            metaBuilder_.setMessage(index, value);
          }
          return this;
        }
        public Builder setMeta(
            int index, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder builderForValue) {
          if (metaBuilder_ == null) {
            ensureMetaIsMutable();
            meta_.set(index, builderForValue.build());
            onChanged();
          } else {
            metaBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addMeta(com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair value) {
          if (metaBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureMetaIsMutable();
            meta_.add(value);
            onChanged();
          } else {
            metaBuilder_.addMessage(value);
          }
          return this;
        }
        public Builder addMeta(
            int index, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair value) {
          if (metaBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureMetaIsMutable();
            meta_.add(index, value);
            onChanged();
          } else {
            metaBuilder_.addMessage(index, value);
          }
          return this;
        }
        public Builder addMeta(
            com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder builderForValue) {
          if (metaBuilder_ == null) {
            ensureMetaIsMutable();
            meta_.add(builderForValue.build());
            onChanged();
          } else {
            metaBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        public Builder addMeta(
            int index, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder builderForValue) {
          if (metaBuilder_ == null) {
            ensureMetaIsMutable();
            meta_.add(index, builderForValue.build());
            onChanged();
          } else {
            metaBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addAllMeta(
            java.lang.Iterable<? extends com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair> values) {
          if (metaBuilder_ == null) {
            ensureMetaIsMutable();
            super.addAll(values, meta_);
            onChanged();
          } else {
            metaBuilder_.addAllMessages(values);
          }
          return this;
        }
        public Builder clearMeta() {
          if (metaBuilder_ == null) {
            meta_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
            onChanged();
          } else {
            metaBuilder_.clear();
          }
          return this;
        }
        public Builder removeMeta(int index) {
          if (metaBuilder_ == null) {
            ensureMetaIsMutable();
            meta_.remove(index);
            onChanged();
          } else {
            metaBuilder_.remove(index);
          }
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder getMetaBuilder(
            int index) {
          return getMetaFieldBuilder().getBuilder(index);
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder getMetaOrBuilder(
            int index) {
          if (metaBuilder_ == null) {
            return meta_.get(index);  } else {
            return metaBuilder_.getMessageOrBuilder(index);
          }
        }
        public java.util.List<? extends com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder> 
             getMetaOrBuilderList() {
          if (metaBuilder_ != null) {
            return metaBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(meta_);
          }
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder addMetaBuilder() {
          return getMetaFieldBuilder().addBuilder(
              com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.getDefaultInstance());
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder addMetaBuilder(
            int index) {
          return getMetaFieldBuilder().addBuilder(
              index, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.getDefaultInstance());
        }
        public java.util.List<com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder> 
             getMetaBuilderList() {
          return getMetaFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder> 
            getMetaFieldBuilder() {
          if (metaBuilder_ == null) {
            metaBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePairOrBuilder>(
                    meta_,
                    ((bitField0_ & 0x00000002) == 0x00000002),
                    getParentForChildren(),
                    isClean());
            meta_ = null;
          }
          return metaBuilder_;
        }
        
        // required uint64 scannerId = 3;
        private long scannerId_ ;
        public boolean hasScannerId() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        public long getScannerId() {
          return scannerId_;
        }
        public Builder setScannerId(long value) {
          bitField0_ |= 0x00000004;
          scannerId_ = value;
          onChanged();
          return this;
        }
        public Builder clearScannerId() {
          bitField0_ = (bitField0_ & ~0x00000004);
          scannerId_ = 0L;
          onChanged();
          return this;
        }
        
        // @@protoc_insertion_point(builder_scope:ScanResponse)
      }
      
      static {
        defaultInstance = new ScanResponse(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:ScanResponse)
    }
    
    public interface InsertRequestOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required .EntityGroupSpecifier entityGroup = 1;
      boolean hasEntityGroup();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroup();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupOrBuilder();
      
      // required .InsertActionProto insertAction = 2;
      boolean hasInsertAction();
      com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto getInsertAction();
      com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProtoOrBuilder getInsertActionOrBuilder();
    }
    public static final class InsertRequest extends
        com.google.protobuf.GeneratedMessage
        implements InsertRequestOrBuilder {
      // Use InsertRequest.newBuilder() to construct.
      private InsertRequest(Builder builder) {
        super(builder);
      }
      private InsertRequest(boolean noInit) {}
      
      private static final InsertRequest defaultInstance;
      public static InsertRequest getDefaultInstance() {
        return defaultInstance;
      }
      
      public InsertRequest getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_InsertRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_InsertRequest_fieldAccessorTable;
      }
      
      private int bitField0_;
      // required .EntityGroupSpecifier entityGroup = 1;
      public static final int ENTITYGROUP_FIELD_NUMBER = 1;
      private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier entityGroup_;
      public boolean hasEntityGroup() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroup() {
        return entityGroup_;
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupOrBuilder() {
        return entityGroup_;
      }
      
      // required .InsertActionProto insertAction = 2;
      public static final int INSERTACTION_FIELD_NUMBER = 2;
      private com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto insertAction_;
      public boolean hasInsertAction() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto getInsertAction() {
        return insertAction_;
      }
      public com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProtoOrBuilder getInsertActionOrBuilder() {
        return insertAction_;
      }
      
      private void initFields() {
        entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
        insertAction_ = com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasEntityGroup()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasInsertAction()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getEntityGroup().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getInsertAction().isInitialized()) {
          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.writeMessage(1, entityGroup_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(2, insertAction_);
        }
        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
            .computeMessageSize(1, entityGroup_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, insertAction_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest other = (com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest) obj;
        
        boolean result = true;
        result = result && (hasEntityGroup() == other.hasEntityGroup());
        if (hasEntityGroup()) {
          result = result && getEntityGroup()
              .equals(other.getEntityGroup());
        }
        result = result && (hasInsertAction() == other.hasInsertAction());
        if (hasInsertAction()) {
          result = result && getInsertAction()
              .equals(other.getInsertAction());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasEntityGroup()) {
          hash = (37 * hash) + ENTITYGROUP_FIELD_NUMBER;
          hash = (53 * hash) + getEntityGroup().hashCode();
        }
        if (hasInsertAction()) {
          hash = (37 * hash) + INSERTACTION_FIELD_NUMBER;
          hash = (53 * hash) + getInsertAction().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest 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.protobuf.generated.ClientProtos.InsertRequest parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest 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.protobuf.generated.ClientProtos.InsertRequest 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.protobuf.generated.ClientProtos.InsertRequest 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.protobuf.generated.ClientProtos.InsertRequest parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest 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.protobuf.generated.ClientProtos.InsertRequest prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.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.protobuf.generated.ClientProtos.InsertRequestOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_InsertRequest_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_InsertRequest_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getEntityGroupFieldBuilder();
            getInsertActionFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          if (entityGroupBuilder_ == null) {
            entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
          } else {
            entityGroupBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          if (insertActionBuilder_ == null) {
            insertAction_ = com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto.getDefaultInstance();
          } else {
            insertActionBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest build() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest result = new com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (entityGroupBuilder_ == null) {
            result.entityGroup_ = entityGroup_;
          } else {
            result.entityGroup_ = entityGroupBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (insertActionBuilder_ == null) {
            result.insertAction_ = insertAction_;
          } else {
            result.insertAction_ = insertActionBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest.getDefaultInstance()) return this;
          if (other.hasEntityGroup()) {
            mergeEntityGroup(other.getEntityGroup());
          }
          if (other.hasInsertAction()) {
            mergeInsertAction(other.getInsertAction());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasEntityGroup()) {
            
            return false;
          }
          if (!hasInsertAction()) {
            
            return false;
          }
          if (!getEntityGroup().isInitialized()) {
            
            return false;
          }
          if (!getInsertAction().isInitialized()) {
            
            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: {
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder subBuilder = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.newBuilder();
                if (hasEntityGroup()) {
                  subBuilder.mergeFrom(getEntityGroup());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setEntityGroup(subBuilder.buildPartial());
                break;
              }
              case 18: {
                com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto.Builder subBuilder = com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto.newBuilder();
                if (hasInsertAction()) {
                  subBuilder.mergeFrom(getInsertAction());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setInsertAction(subBuilder.buildPartial());
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required .EntityGroupSpecifier entityGroup = 1;
        private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder> entityGroupBuilder_;
        public boolean hasEntityGroup() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroup() {
          if (entityGroupBuilder_ == null) {
            return entityGroup_;
          } else {
            return entityGroupBuilder_.getMessage();
          }
        }
        public Builder setEntityGroup(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier value) {
          if (entityGroupBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            entityGroup_ = value;
            onChanged();
          } else {
            entityGroupBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder setEntityGroup(
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder builderForValue) {
          if (entityGroupBuilder_ == null) {
            entityGroup_ = builderForValue.build();
            onChanged();
          } else {
            entityGroupBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder mergeEntityGroup(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier value) {
          if (entityGroupBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                entityGroup_ != com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance()) {
              entityGroup_ =
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.newBuilder(entityGroup_).mergeFrom(value).buildPartial();
            } else {
              entityGroup_ = value;
            }
            onChanged();
          } else {
            entityGroupBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder clearEntityGroup() {
          if (entityGroupBuilder_ == null) {
            entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
            onChanged();
          } else {
            entityGroupBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder getEntityGroupBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getEntityGroupFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupOrBuilder() {
          if (entityGroupBuilder_ != null) {
            return entityGroupBuilder_.getMessageOrBuilder();
          } else {
            return entityGroup_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder> 
            getEntityGroupFieldBuilder() {
          if (entityGroupBuilder_ == null) {
            entityGroupBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder>(
                    entityGroup_,
                    getParentForChildren(),
                    isClean());
            entityGroup_ = null;
          }
          return entityGroupBuilder_;
        }
        
        // required .InsertActionProto insertAction = 2;
        private com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto insertAction_ = com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto, com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto.Builder, com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProtoOrBuilder> insertActionBuilder_;
        public boolean hasInsertAction() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto getInsertAction() {
          if (insertActionBuilder_ == null) {
            return insertAction_;
          } else {
            return insertActionBuilder_.getMessage();
          }
        }
        public Builder setInsertAction(com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto value) {
          if (insertActionBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            insertAction_ = value;
            onChanged();
          } else {
            insertActionBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder setInsertAction(
            com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto.Builder builderForValue) {
          if (insertActionBuilder_ == null) {
            insertAction_ = builderForValue.build();
            onChanged();
          } else {
            insertActionBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder mergeInsertAction(com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto value) {
          if (insertActionBuilder_ == null) {
            if (((bitField0_ & 0x00000002) == 0x00000002) &&
                insertAction_ != com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto.getDefaultInstance()) {
              insertAction_ =
                com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto.newBuilder(insertAction_).mergeFrom(value).buildPartial();
            } else {
              insertAction_ = value;
            }
            onChanged();
          } else {
            insertActionBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder clearInsertAction() {
          if (insertActionBuilder_ == null) {
            insertAction_ = com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto.getDefaultInstance();
            onChanged();
          } else {
            insertActionBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto.Builder getInsertActionBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getInsertActionFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProtoOrBuilder getInsertActionOrBuilder() {
          if (insertActionBuilder_ != null) {
            return insertActionBuilder_.getMessageOrBuilder();
          } else {
            return insertAction_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto, com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto.Builder, com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProtoOrBuilder> 
            getInsertActionFieldBuilder() {
          if (insertActionBuilder_ == null) {
            insertActionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto, com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProto.Builder, com.alibaba.wasp.protobuf.generated.MetaProtos.InsertActionProtoOrBuilder>(
                    insertAction_,
                    getParentForChildren(),
                    isClean());
            insertAction_ = null;
          }
          return insertActionBuilder_;
        }
        
        // @@protoc_insertion_point(builder_scope:InsertRequest)
      }
      
      static {
        defaultInstance = new InsertRequest(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:InsertRequest)
    }
    
    public interface InsertResponseOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required .WriteResultProto result = 1;
      boolean hasResult();
      com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto getResult();
      com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder getResultOrBuilder();
    }
    public static final class InsertResponse extends
        com.google.protobuf.GeneratedMessage
        implements InsertResponseOrBuilder {
      // Use InsertResponse.newBuilder() to construct.
      private InsertResponse(Builder builder) {
        super(builder);
      }
      private InsertResponse(boolean noInit) {}
      
      private static final InsertResponse defaultInstance;
      public static InsertResponse getDefaultInstance() {
        return defaultInstance;
      }
      
      public InsertResponse getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_InsertResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_InsertResponse_fieldAccessorTable;
      }
      
      private int bitField0_;
      // required .WriteResultProto result = 1;
      public static final int RESULT_FIELD_NUMBER = 1;
      private com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto result_;
      public boolean hasResult() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto getResult() {
        return result_;
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder getResultOrBuilder() {
        return result_;
      }
      
      private void initFields() {
        result_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasResult()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getResult().isInitialized()) {
          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.writeMessage(1, result_);
        }
        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
            .computeMessageSize(1, result_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse other = (com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse) obj;
        
        boolean result = true;
        result = result && (hasResult() == other.hasResult());
        if (hasResult()) {
          result = result && getResult()
              .equals(other.getResult());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasResult()) {
          hash = (37 * hash) + RESULT_FIELD_NUMBER;
          hash = (53 * hash) + getResult().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse 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.protobuf.generated.ClientProtos.InsertResponse parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse 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.protobuf.generated.ClientProtos.InsertResponse 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.protobuf.generated.ClientProtos.InsertResponse 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.protobuf.generated.ClientProtos.InsertResponse parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse 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.protobuf.generated.ClientProtos.InsertResponse prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.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.protobuf.generated.ClientProtos.InsertResponseOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_InsertResponse_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_InsertResponse_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getResultFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          if (resultBuilder_ == null) {
            result_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
          } else {
            resultBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse build() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse result = new com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (resultBuilder_ == null) {
            result.result_ = result_;
          } else {
            result.result_ = resultBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse.getDefaultInstance()) return this;
          if (other.hasResult()) {
            mergeResult(other.getResult());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasResult()) {
            
            return false;
          }
          if (!getResult().isInitialized()) {
            
            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: {
                com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder subBuilder = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.newBuilder();
                if (hasResult()) {
                  subBuilder.mergeFrom(getResult());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setResult(subBuilder.buildPartial());
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required .WriteResultProto result = 1;
        private com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto result_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder> resultBuilder_;
        public boolean hasResult() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto getResult() {
          if (resultBuilder_ == null) {
            return result_;
          } else {
            return resultBuilder_.getMessage();
          }
        }
        public Builder setResult(com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto value) {
          if (resultBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            result_ = value;
            onChanged();
          } else {
            resultBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder setResult(
            com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder builderForValue) {
          if (resultBuilder_ == null) {
            result_ = builderForValue.build();
            onChanged();
          } else {
            resultBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder mergeResult(com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto value) {
          if (resultBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                result_ != com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance()) {
              result_ =
                com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.newBuilder(result_).mergeFrom(value).buildPartial();
            } else {
              result_ = value;
            }
            onChanged();
          } else {
            resultBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder clearResult() {
          if (resultBuilder_ == null) {
            result_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
            onChanged();
          } else {
            resultBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder getResultBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getResultFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder getResultOrBuilder() {
          if (resultBuilder_ != null) {
            return resultBuilder_.getMessageOrBuilder();
          } else {
            return result_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder> 
            getResultFieldBuilder() {
          if (resultBuilder_ == null) {
            resultBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder>(
                    result_,
                    getParentForChildren(),
                    isClean());
            result_ = null;
          }
          return resultBuilder_;
        }
        
        // @@protoc_insertion_point(builder_scope:InsertResponse)
      }
      
      static {
        defaultInstance = new InsertResponse(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:InsertResponse)
    }
    
    public interface UpdateRequestOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required .EntityGroupSpecifier entityGroup = 1;
      boolean hasEntityGroup();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroup();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupOrBuilder();
      
      // required .UpdateActionProto updateAction = 2;
      boolean hasUpdateAction();
      com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto getUpdateAction();
      com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProtoOrBuilder getUpdateActionOrBuilder();
    }
    public static final class UpdateRequest extends
        com.google.protobuf.GeneratedMessage
        implements UpdateRequestOrBuilder {
      // Use UpdateRequest.newBuilder() to construct.
      private UpdateRequest(Builder builder) {
        super(builder);
      }
      private UpdateRequest(boolean noInit) {}
      
      private static final UpdateRequest defaultInstance;
      public static UpdateRequest getDefaultInstance() {
        return defaultInstance;
      }
      
      public UpdateRequest getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_UpdateRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_UpdateRequest_fieldAccessorTable;
      }
      
      private int bitField0_;
      // required .EntityGroupSpecifier entityGroup = 1;
      public static final int ENTITYGROUP_FIELD_NUMBER = 1;
      private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier entityGroup_;
      public boolean hasEntityGroup() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroup() {
        return entityGroup_;
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupOrBuilder() {
        return entityGroup_;
      }
      
      // required .UpdateActionProto updateAction = 2;
      public static final int UPDATEACTION_FIELD_NUMBER = 2;
      private com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto updateAction_;
      public boolean hasUpdateAction() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto getUpdateAction() {
        return updateAction_;
      }
      public com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProtoOrBuilder getUpdateActionOrBuilder() {
        return updateAction_;
      }
      
      private void initFields() {
        entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
        updateAction_ = com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasEntityGroup()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasUpdateAction()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getEntityGroup().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getUpdateAction().isInitialized()) {
          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.writeMessage(1, entityGroup_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(2, updateAction_);
        }
        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
            .computeMessageSize(1, entityGroup_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, updateAction_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest other = (com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest) obj;
        
        boolean result = true;
        result = result && (hasEntityGroup() == other.hasEntityGroup());
        if (hasEntityGroup()) {
          result = result && getEntityGroup()
              .equals(other.getEntityGroup());
        }
        result = result && (hasUpdateAction() == other.hasUpdateAction());
        if (hasUpdateAction()) {
          result = result && getUpdateAction()
              .equals(other.getUpdateAction());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasEntityGroup()) {
          hash = (37 * hash) + ENTITYGROUP_FIELD_NUMBER;
          hash = (53 * hash) + getEntityGroup().hashCode();
        }
        if (hasUpdateAction()) {
          hash = (37 * hash) + UPDATEACTION_FIELD_NUMBER;
          hash = (53 * hash) + getUpdateAction().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest 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.protobuf.generated.ClientProtos.UpdateRequest parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest 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.protobuf.generated.ClientProtos.UpdateRequest 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.protobuf.generated.ClientProtos.UpdateRequest 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.protobuf.generated.ClientProtos.UpdateRequest parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest 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.protobuf.generated.ClientProtos.UpdateRequest prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.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.protobuf.generated.ClientProtos.UpdateRequestOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_UpdateRequest_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_UpdateRequest_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getEntityGroupFieldBuilder();
            getUpdateActionFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          if (entityGroupBuilder_ == null) {
            entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
          } else {
            entityGroupBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          if (updateActionBuilder_ == null) {
            updateAction_ = com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto.getDefaultInstance();
          } else {
            updateActionBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest build() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest result = new com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (entityGroupBuilder_ == null) {
            result.entityGroup_ = entityGroup_;
          } else {
            result.entityGroup_ = entityGroupBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (updateActionBuilder_ == null) {
            result.updateAction_ = updateAction_;
          } else {
            result.updateAction_ = updateActionBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest.getDefaultInstance()) return this;
          if (other.hasEntityGroup()) {
            mergeEntityGroup(other.getEntityGroup());
          }
          if (other.hasUpdateAction()) {
            mergeUpdateAction(other.getUpdateAction());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasEntityGroup()) {
            
            return false;
          }
          if (!hasUpdateAction()) {
            
            return false;
          }
          if (!getEntityGroup().isInitialized()) {
            
            return false;
          }
          if (!getUpdateAction().isInitialized()) {
            
            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: {
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder subBuilder = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.newBuilder();
                if (hasEntityGroup()) {
                  subBuilder.mergeFrom(getEntityGroup());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setEntityGroup(subBuilder.buildPartial());
                break;
              }
              case 18: {
                com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto.Builder subBuilder = com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto.newBuilder();
                if (hasUpdateAction()) {
                  subBuilder.mergeFrom(getUpdateAction());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setUpdateAction(subBuilder.buildPartial());
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required .EntityGroupSpecifier entityGroup = 1;
        private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder> entityGroupBuilder_;
        public boolean hasEntityGroup() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroup() {
          if (entityGroupBuilder_ == null) {
            return entityGroup_;
          } else {
            return entityGroupBuilder_.getMessage();
          }
        }
        public Builder setEntityGroup(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier value) {
          if (entityGroupBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            entityGroup_ = value;
            onChanged();
          } else {
            entityGroupBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder setEntityGroup(
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder builderForValue) {
          if (entityGroupBuilder_ == null) {
            entityGroup_ = builderForValue.build();
            onChanged();
          } else {
            entityGroupBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder mergeEntityGroup(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier value) {
          if (entityGroupBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                entityGroup_ != com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance()) {
              entityGroup_ =
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.newBuilder(entityGroup_).mergeFrom(value).buildPartial();
            } else {
              entityGroup_ = value;
            }
            onChanged();
          } else {
            entityGroupBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder clearEntityGroup() {
          if (entityGroupBuilder_ == null) {
            entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
            onChanged();
          } else {
            entityGroupBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder getEntityGroupBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getEntityGroupFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupOrBuilder() {
          if (entityGroupBuilder_ != null) {
            return entityGroupBuilder_.getMessageOrBuilder();
          } else {
            return entityGroup_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder> 
            getEntityGroupFieldBuilder() {
          if (entityGroupBuilder_ == null) {
            entityGroupBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder>(
                    entityGroup_,
                    getParentForChildren(),
                    isClean());
            entityGroup_ = null;
          }
          return entityGroupBuilder_;
        }
        
        // required .UpdateActionProto updateAction = 2;
        private com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto updateAction_ = com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto, com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto.Builder, com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProtoOrBuilder> updateActionBuilder_;
        public boolean hasUpdateAction() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto getUpdateAction() {
          if (updateActionBuilder_ == null) {
            return updateAction_;
          } else {
            return updateActionBuilder_.getMessage();
          }
        }
        public Builder setUpdateAction(com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto value) {
          if (updateActionBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            updateAction_ = value;
            onChanged();
          } else {
            updateActionBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder setUpdateAction(
            com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto.Builder builderForValue) {
          if (updateActionBuilder_ == null) {
            updateAction_ = builderForValue.build();
            onChanged();
          } else {
            updateActionBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder mergeUpdateAction(com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto value) {
          if (updateActionBuilder_ == null) {
            if (((bitField0_ & 0x00000002) == 0x00000002) &&
                updateAction_ != com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto.getDefaultInstance()) {
              updateAction_ =
                com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto.newBuilder(updateAction_).mergeFrom(value).buildPartial();
            } else {
              updateAction_ = value;
            }
            onChanged();
          } else {
            updateActionBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder clearUpdateAction() {
          if (updateActionBuilder_ == null) {
            updateAction_ = com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto.getDefaultInstance();
            onChanged();
          } else {
            updateActionBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto.Builder getUpdateActionBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getUpdateActionFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProtoOrBuilder getUpdateActionOrBuilder() {
          if (updateActionBuilder_ != null) {
            return updateActionBuilder_.getMessageOrBuilder();
          } else {
            return updateAction_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto, com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto.Builder, com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProtoOrBuilder> 
            getUpdateActionFieldBuilder() {
          if (updateActionBuilder_ == null) {
            updateActionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto, com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProto.Builder, com.alibaba.wasp.protobuf.generated.MetaProtos.UpdateActionProtoOrBuilder>(
                    updateAction_,
                    getParentForChildren(),
                    isClean());
            updateAction_ = null;
          }
          return updateActionBuilder_;
        }
        
        // @@protoc_insertion_point(builder_scope:UpdateRequest)
      }
      
      static {
        defaultInstance = new UpdateRequest(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:UpdateRequest)
    }
    
    public interface UpdateResponseOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required .WriteResultProto result = 1;
      boolean hasResult();
      com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto getResult();
      com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder getResultOrBuilder();
    }
    public static final class UpdateResponse extends
        com.google.protobuf.GeneratedMessage
        implements UpdateResponseOrBuilder {
      // Use UpdateResponse.newBuilder() to construct.
      private UpdateResponse(Builder builder) {
        super(builder);
      }
      private UpdateResponse(boolean noInit) {}
      
      private static final UpdateResponse defaultInstance;
      public static UpdateResponse getDefaultInstance() {
        return defaultInstance;
      }
      
      public UpdateResponse getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_UpdateResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_UpdateResponse_fieldAccessorTable;
      }
      
      private int bitField0_;
      // required .WriteResultProto result = 1;
      public static final int RESULT_FIELD_NUMBER = 1;
      private com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto result_;
      public boolean hasResult() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto getResult() {
        return result_;
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder getResultOrBuilder() {
        return result_;
      }
      
      private void initFields() {
        result_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasResult()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getResult().isInitialized()) {
          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.writeMessage(1, result_);
        }
        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
            .computeMessageSize(1, result_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse other = (com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse) obj;
        
        boolean result = true;
        result = result && (hasResult() == other.hasResult());
        if (hasResult()) {
          result = result && getResult()
              .equals(other.getResult());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasResult()) {
          hash = (37 * hash) + RESULT_FIELD_NUMBER;
          hash = (53 * hash) + getResult().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse 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.protobuf.generated.ClientProtos.UpdateResponse parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse 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.protobuf.generated.ClientProtos.UpdateResponse 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.protobuf.generated.ClientProtos.UpdateResponse 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.protobuf.generated.ClientProtos.UpdateResponse parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse 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.protobuf.generated.ClientProtos.UpdateResponse prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.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.protobuf.generated.ClientProtos.UpdateResponseOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_UpdateResponse_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_UpdateResponse_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getResultFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          if (resultBuilder_ == null) {
            result_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
          } else {
            resultBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse build() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse result = new com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (resultBuilder_ == null) {
            result.result_ = result_;
          } else {
            result.result_ = resultBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse.getDefaultInstance()) return this;
          if (other.hasResult()) {
            mergeResult(other.getResult());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasResult()) {
            
            return false;
          }
          if (!getResult().isInitialized()) {
            
            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: {
                com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder subBuilder = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.newBuilder();
                if (hasResult()) {
                  subBuilder.mergeFrom(getResult());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setResult(subBuilder.buildPartial());
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required .WriteResultProto result = 1;
        private com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto result_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder> resultBuilder_;
        public boolean hasResult() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto getResult() {
          if (resultBuilder_ == null) {
            return result_;
          } else {
            return resultBuilder_.getMessage();
          }
        }
        public Builder setResult(com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto value) {
          if (resultBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            result_ = value;
            onChanged();
          } else {
            resultBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder setResult(
            com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder builderForValue) {
          if (resultBuilder_ == null) {
            result_ = builderForValue.build();
            onChanged();
          } else {
            resultBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder mergeResult(com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto value) {
          if (resultBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                result_ != com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance()) {
              result_ =
                com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.newBuilder(result_).mergeFrom(value).buildPartial();
            } else {
              result_ = value;
            }
            onChanged();
          } else {
            resultBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder clearResult() {
          if (resultBuilder_ == null) {
            result_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
            onChanged();
          } else {
            resultBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder getResultBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getResultFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder getResultOrBuilder() {
          if (resultBuilder_ != null) {
            return resultBuilder_.getMessageOrBuilder();
          } else {
            return result_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder> 
            getResultFieldBuilder() {
          if (resultBuilder_ == null) {
            resultBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder>(
                    result_,
                    getParentForChildren(),
                    isClean());
            result_ = null;
          }
          return resultBuilder_;
        }
        
        // @@protoc_insertion_point(builder_scope:UpdateResponse)
      }
      
      static {
        defaultInstance = new UpdateResponse(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:UpdateResponse)
    }
    
    public interface DeleteRequestOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required .EntityGroupSpecifier entityGroup = 1;
      boolean hasEntityGroup();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroup();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupOrBuilder();
      
      // required .DeleteActionProto deleteAction = 2;
      boolean hasDeleteAction();
      com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto getDeleteAction();
      com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProtoOrBuilder getDeleteActionOrBuilder();
    }
    public static final class DeleteRequest extends
        com.google.protobuf.GeneratedMessage
        implements DeleteRequestOrBuilder {
      // Use DeleteRequest.newBuilder() to construct.
      private DeleteRequest(Builder builder) {
        super(builder);
      }
      private DeleteRequest(boolean noInit) {}
      
      private static final DeleteRequest defaultInstance;
      public static DeleteRequest getDefaultInstance() {
        return defaultInstance;
      }
      
      public DeleteRequest getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_DeleteRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_DeleteRequest_fieldAccessorTable;
      }
      
      private int bitField0_;
      // required .EntityGroupSpecifier entityGroup = 1;
      public static final int ENTITYGROUP_FIELD_NUMBER = 1;
      private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier entityGroup_;
      public boolean hasEntityGroup() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroup() {
        return entityGroup_;
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupOrBuilder() {
        return entityGroup_;
      }
      
      // required .DeleteActionProto deleteAction = 2;
      public static final int DELETEACTION_FIELD_NUMBER = 2;
      private com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto deleteAction_;
      public boolean hasDeleteAction() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto getDeleteAction() {
        return deleteAction_;
      }
      public com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProtoOrBuilder getDeleteActionOrBuilder() {
        return deleteAction_;
      }
      
      private void initFields() {
        entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
        deleteAction_ = com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasEntityGroup()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasDeleteAction()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getEntityGroup().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getDeleteAction().isInitialized()) {
          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.writeMessage(1, entityGroup_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(2, deleteAction_);
        }
        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
            .computeMessageSize(1, entityGroup_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, deleteAction_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest other = (com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest) obj;
        
        boolean result = true;
        result = result && (hasEntityGroup() == other.hasEntityGroup());
        if (hasEntityGroup()) {
          result = result && getEntityGroup()
              .equals(other.getEntityGroup());
        }
        result = result && (hasDeleteAction() == other.hasDeleteAction());
        if (hasDeleteAction()) {
          result = result && getDeleteAction()
              .equals(other.getDeleteAction());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasEntityGroup()) {
          hash = (37 * hash) + ENTITYGROUP_FIELD_NUMBER;
          hash = (53 * hash) + getEntityGroup().hashCode();
        }
        if (hasDeleteAction()) {
          hash = (37 * hash) + DELETEACTION_FIELD_NUMBER;
          hash = (53 * hash) + getDeleteAction().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest 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.protobuf.generated.ClientProtos.DeleteRequest parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest 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.protobuf.generated.ClientProtos.DeleteRequest 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.protobuf.generated.ClientProtos.DeleteRequest 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.protobuf.generated.ClientProtos.DeleteRequest parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest 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.protobuf.generated.ClientProtos.DeleteRequest prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.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.protobuf.generated.ClientProtos.DeleteRequestOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_DeleteRequest_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_DeleteRequest_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getEntityGroupFieldBuilder();
            getDeleteActionFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          if (entityGroupBuilder_ == null) {
            entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
          } else {
            entityGroupBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          if (deleteActionBuilder_ == null) {
            deleteAction_ = com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto.getDefaultInstance();
          } else {
            deleteActionBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest build() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest result = new com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (entityGroupBuilder_ == null) {
            result.entityGroup_ = entityGroup_;
          } else {
            result.entityGroup_ = entityGroupBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (deleteActionBuilder_ == null) {
            result.deleteAction_ = deleteAction_;
          } else {
            result.deleteAction_ = deleteActionBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest.getDefaultInstance()) return this;
          if (other.hasEntityGroup()) {
            mergeEntityGroup(other.getEntityGroup());
          }
          if (other.hasDeleteAction()) {
            mergeDeleteAction(other.getDeleteAction());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasEntityGroup()) {
            
            return false;
          }
          if (!hasDeleteAction()) {
            
            return false;
          }
          if (!getEntityGroup().isInitialized()) {
            
            return false;
          }
          if (!getDeleteAction().isInitialized()) {
            
            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: {
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder subBuilder = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.newBuilder();
                if (hasEntityGroup()) {
                  subBuilder.mergeFrom(getEntityGroup());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setEntityGroup(subBuilder.buildPartial());
                break;
              }
              case 18: {
                com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto.Builder subBuilder = com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto.newBuilder();
                if (hasDeleteAction()) {
                  subBuilder.mergeFrom(getDeleteAction());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setDeleteAction(subBuilder.buildPartial());
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required .EntityGroupSpecifier entityGroup = 1;
        private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder> entityGroupBuilder_;
        public boolean hasEntityGroup() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroup() {
          if (entityGroupBuilder_ == null) {
            return entityGroup_;
          } else {
            return entityGroupBuilder_.getMessage();
          }
        }
        public Builder setEntityGroup(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier value) {
          if (entityGroupBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            entityGroup_ = value;
            onChanged();
          } else {
            entityGroupBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder setEntityGroup(
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder builderForValue) {
          if (entityGroupBuilder_ == null) {
            entityGroup_ = builderForValue.build();
            onChanged();
          } else {
            entityGroupBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder mergeEntityGroup(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier value) {
          if (entityGroupBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                entityGroup_ != com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance()) {
              entityGroup_ =
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.newBuilder(entityGroup_).mergeFrom(value).buildPartial();
            } else {
              entityGroup_ = value;
            }
            onChanged();
          } else {
            entityGroupBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder clearEntityGroup() {
          if (entityGroupBuilder_ == null) {
            entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
            onChanged();
          } else {
            entityGroupBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder getEntityGroupBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getEntityGroupFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupOrBuilder() {
          if (entityGroupBuilder_ != null) {
            return entityGroupBuilder_.getMessageOrBuilder();
          } else {
            return entityGroup_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder> 
            getEntityGroupFieldBuilder() {
          if (entityGroupBuilder_ == null) {
            entityGroupBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder>(
                    entityGroup_,
                    getParentForChildren(),
                    isClean());
            entityGroup_ = null;
          }
          return entityGroupBuilder_;
        }
        
        // required .DeleteActionProto deleteAction = 2;
        private com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto deleteAction_ = com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto, com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto.Builder, com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProtoOrBuilder> deleteActionBuilder_;
        public boolean hasDeleteAction() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto getDeleteAction() {
          if (deleteActionBuilder_ == null) {
            return deleteAction_;
          } else {
            return deleteActionBuilder_.getMessage();
          }
        }
        public Builder setDeleteAction(com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto value) {
          if (deleteActionBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            deleteAction_ = value;
            onChanged();
          } else {
            deleteActionBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder setDeleteAction(
            com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto.Builder builderForValue) {
          if (deleteActionBuilder_ == null) {
            deleteAction_ = builderForValue.build();
            onChanged();
          } else {
            deleteActionBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder mergeDeleteAction(com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto value) {
          if (deleteActionBuilder_ == null) {
            if (((bitField0_ & 0x00000002) == 0x00000002) &&
                deleteAction_ != com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto.getDefaultInstance()) {
              deleteAction_ =
                com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto.newBuilder(deleteAction_).mergeFrom(value).buildPartial();
            } else {
              deleteAction_ = value;
            }
            onChanged();
          } else {
            deleteActionBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder clearDeleteAction() {
          if (deleteActionBuilder_ == null) {
            deleteAction_ = com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto.getDefaultInstance();
            onChanged();
          } else {
            deleteActionBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto.Builder getDeleteActionBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getDeleteActionFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProtoOrBuilder getDeleteActionOrBuilder() {
          if (deleteActionBuilder_ != null) {
            return deleteActionBuilder_.getMessageOrBuilder();
          } else {
            return deleteAction_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto, com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto.Builder, com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProtoOrBuilder> 
            getDeleteActionFieldBuilder() {
          if (deleteActionBuilder_ == null) {
            deleteActionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto, com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProto.Builder, com.alibaba.wasp.protobuf.generated.MetaProtos.DeleteActionProtoOrBuilder>(
                    deleteAction_,
                    getParentForChildren(),
                    isClean());
            deleteAction_ = null;
          }
          return deleteActionBuilder_;
        }
        
        // @@protoc_insertion_point(builder_scope:DeleteRequest)
      }
      
      static {
        defaultInstance = new DeleteRequest(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:DeleteRequest)
    }
    
    public interface DeleteResponseOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required .WriteResultProto result = 1;
      boolean hasResult();
      com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto getResult();
      com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder getResultOrBuilder();
    }
    public static final class DeleteResponse extends
        com.google.protobuf.GeneratedMessage
        implements DeleteResponseOrBuilder {
      // Use DeleteResponse.newBuilder() to construct.
      private DeleteResponse(Builder builder) {
        super(builder);
      }
      private DeleteResponse(boolean noInit) {}
      
      private static final DeleteResponse defaultInstance;
      public static DeleteResponse getDefaultInstance() {
        return defaultInstance;
      }
      
      public DeleteResponse getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_DeleteResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_DeleteResponse_fieldAccessorTable;
      }
      
      private int bitField0_;
      // required .WriteResultProto result = 1;
      public static final int RESULT_FIELD_NUMBER = 1;
      private com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto result_;
      public boolean hasResult() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto getResult() {
        return result_;
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder getResultOrBuilder() {
        return result_;
      }
      
      private void initFields() {
        result_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasResult()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getResult().isInitialized()) {
          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.writeMessage(1, result_);
        }
        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
            .computeMessageSize(1, result_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse other = (com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse) obj;
        
        boolean result = true;
        result = result && (hasResult() == other.hasResult());
        if (hasResult()) {
          result = result && getResult()
              .equals(other.getResult());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasResult()) {
          hash = (37 * hash) + RESULT_FIELD_NUMBER;
          hash = (53 * hash) + getResult().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse 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.protobuf.generated.ClientProtos.DeleteResponse parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse 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.protobuf.generated.ClientProtos.DeleteResponse 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.protobuf.generated.ClientProtos.DeleteResponse 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.protobuf.generated.ClientProtos.DeleteResponse parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse 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.protobuf.generated.ClientProtos.DeleteResponse prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.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.protobuf.generated.ClientProtos.DeleteResponseOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_DeleteResponse_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_DeleteResponse_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getResultFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          if (resultBuilder_ == null) {
            result_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
          } else {
            resultBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse build() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse result = new com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (resultBuilder_ == null) {
            result.result_ = result_;
          } else {
            result.result_ = resultBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse.getDefaultInstance()) return this;
          if (other.hasResult()) {
            mergeResult(other.getResult());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasResult()) {
            
            return false;
          }
          if (!getResult().isInitialized()) {
            
            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: {
                com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder subBuilder = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.newBuilder();
                if (hasResult()) {
                  subBuilder.mergeFrom(getResult());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setResult(subBuilder.buildPartial());
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required .WriteResultProto result = 1;
        private com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto result_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder> resultBuilder_;
        public boolean hasResult() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto getResult() {
          if (resultBuilder_ == null) {
            return result_;
          } else {
            return resultBuilder_.getMessage();
          }
        }
        public Builder setResult(com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto value) {
          if (resultBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            result_ = value;
            onChanged();
          } else {
            resultBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder setResult(
            com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder builderForValue) {
          if (resultBuilder_ == null) {
            result_ = builderForValue.build();
            onChanged();
          } else {
            resultBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder mergeResult(com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto value) {
          if (resultBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                result_ != com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance()) {
              result_ =
                com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.newBuilder(result_).mergeFrom(value).buildPartial();
            } else {
              result_ = value;
            }
            onChanged();
          } else {
            resultBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder clearResult() {
          if (resultBuilder_ == null) {
            result_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
            onChanged();
          } else {
            resultBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder getResultBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getResultFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder getResultOrBuilder() {
          if (resultBuilder_ != null) {
            return resultBuilder_.getMessageOrBuilder();
          } else {
            return result_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder> 
            getResultFieldBuilder() {
          if (resultBuilder_ == null) {
            resultBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder>(
                    result_,
                    getParentForChildren(),
                    isClean());
            result_ = null;
          }
          return resultBuilder_;
        }
        
        // @@protoc_insertion_point(builder_scope:DeleteResponse)
      }
      
      static {
        defaultInstance = new DeleteResponse(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:DeleteResponse)
    }
    
    public interface TransactionRequestOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required .EntityGroupSpecifier entityGroup = 1;
      boolean hasEntityGroup();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroup();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupOrBuilder();
      
      // required .TransactionActionProto transactionAction = 2;
      boolean hasTransactionAction();
      com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto getTransactionAction();
      com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProtoOrBuilder getTransactionActionOrBuilder();
    }
    public static final class TransactionRequest extends
        com.google.protobuf.GeneratedMessage
        implements TransactionRequestOrBuilder {
      // Use TransactionRequest.newBuilder() to construct.
      private TransactionRequest(Builder builder) {
        super(builder);
      }
      private TransactionRequest(boolean noInit) {}
      
      private static final TransactionRequest defaultInstance;
      public static TransactionRequest getDefaultInstance() {
        return defaultInstance;
      }
      
      public TransactionRequest getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_TransactionRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_TransactionRequest_fieldAccessorTable;
      }
      
      private int bitField0_;
      // required .EntityGroupSpecifier entityGroup = 1;
      public static final int ENTITYGROUP_FIELD_NUMBER = 1;
      private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier entityGroup_;
      public boolean hasEntityGroup() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroup() {
        return entityGroup_;
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupOrBuilder() {
        return entityGroup_;
      }
      
      // required .TransactionActionProto transactionAction = 2;
      public static final int TRANSACTIONACTION_FIELD_NUMBER = 2;
      private com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto transactionAction_;
      public boolean hasTransactionAction() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto getTransactionAction() {
        return transactionAction_;
      }
      public com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProtoOrBuilder getTransactionActionOrBuilder() {
        return transactionAction_;
      }
      
      private void initFields() {
        entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
        transactionAction_ = com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasEntityGroup()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasTransactionAction()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getEntityGroup().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getTransactionAction().isInitialized()) {
          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.writeMessage(1, entityGroup_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(2, transactionAction_);
        }
        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
            .computeMessageSize(1, entityGroup_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, transactionAction_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest other = (com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest) obj;
        
        boolean result = true;
        result = result && (hasEntityGroup() == other.hasEntityGroup());
        if (hasEntityGroup()) {
          result = result && getEntityGroup()
              .equals(other.getEntityGroup());
        }
        result = result && (hasTransactionAction() == other.hasTransactionAction());
        if (hasTransactionAction()) {
          result = result && getTransactionAction()
              .equals(other.getTransactionAction());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasEntityGroup()) {
          hash = (37 * hash) + ENTITYGROUP_FIELD_NUMBER;
          hash = (53 * hash) + getEntityGroup().hashCode();
        }
        if (hasTransactionAction()) {
          hash = (37 * hash) + TRANSACTIONACTION_FIELD_NUMBER;
          hash = (53 * hash) + getTransactionAction().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest 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.protobuf.generated.ClientProtos.TransactionRequest parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest 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.protobuf.generated.ClientProtos.TransactionRequest 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.protobuf.generated.ClientProtos.TransactionRequest 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.protobuf.generated.ClientProtos.TransactionRequest parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest 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.protobuf.generated.ClientProtos.TransactionRequest prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.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.protobuf.generated.ClientProtos.TransactionRequestOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_TransactionRequest_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_TransactionRequest_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getEntityGroupFieldBuilder();
            getTransactionActionFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          if (entityGroupBuilder_ == null) {
            entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
          } else {
            entityGroupBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          if (transactionActionBuilder_ == null) {
            transactionAction_ = com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto.getDefaultInstance();
          } else {
            transactionActionBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest build() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest result = new com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (entityGroupBuilder_ == null) {
            result.entityGroup_ = entityGroup_;
          } else {
            result.entityGroup_ = entityGroupBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (transactionActionBuilder_ == null) {
            result.transactionAction_ = transactionAction_;
          } else {
            result.transactionAction_ = transactionActionBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest.getDefaultInstance()) return this;
          if (other.hasEntityGroup()) {
            mergeEntityGroup(other.getEntityGroup());
          }
          if (other.hasTransactionAction()) {
            mergeTransactionAction(other.getTransactionAction());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasEntityGroup()) {
            
            return false;
          }
          if (!hasTransactionAction()) {
            
            return false;
          }
          if (!getEntityGroup().isInitialized()) {
            
            return false;
          }
          if (!getTransactionAction().isInitialized()) {
            
            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: {
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder subBuilder = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.newBuilder();
                if (hasEntityGroup()) {
                  subBuilder.mergeFrom(getEntityGroup());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setEntityGroup(subBuilder.buildPartial());
                break;
              }
              case 18: {
                com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto.Builder subBuilder = com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto.newBuilder();
                if (hasTransactionAction()) {
                  subBuilder.mergeFrom(getTransactionAction());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setTransactionAction(subBuilder.buildPartial());
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required .EntityGroupSpecifier entityGroup = 1;
        private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder> entityGroupBuilder_;
        public boolean hasEntityGroup() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroup() {
          if (entityGroupBuilder_ == null) {
            return entityGroup_;
          } else {
            return entityGroupBuilder_.getMessage();
          }
        }
        public Builder setEntityGroup(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier value) {
          if (entityGroupBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            entityGroup_ = value;
            onChanged();
          } else {
            entityGroupBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder setEntityGroup(
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder builderForValue) {
          if (entityGroupBuilder_ == null) {
            entityGroup_ = builderForValue.build();
            onChanged();
          } else {
            entityGroupBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder mergeEntityGroup(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier value) {
          if (entityGroupBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                entityGroup_ != com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance()) {
              entityGroup_ =
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.newBuilder(entityGroup_).mergeFrom(value).buildPartial();
            } else {
              entityGroup_ = value;
            }
            onChanged();
          } else {
            entityGroupBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder clearEntityGroup() {
          if (entityGroupBuilder_ == null) {
            entityGroup_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
            onChanged();
          } else {
            entityGroupBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder getEntityGroupBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getEntityGroupFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupOrBuilder() {
          if (entityGroupBuilder_ != null) {
            return entityGroupBuilder_.getMessageOrBuilder();
          } else {
            return entityGroup_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder> 
            getEntityGroupFieldBuilder() {
          if (entityGroupBuilder_ == null) {
            entityGroupBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder>(
                    entityGroup_,
                    getParentForChildren(),
                    isClean());
            entityGroup_ = null;
          }
          return entityGroupBuilder_;
        }
        
        // required .TransactionActionProto transactionAction = 2;
        private com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto transactionAction_ = com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto, com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto.Builder, com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProtoOrBuilder> transactionActionBuilder_;
        public boolean hasTransactionAction() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto getTransactionAction() {
          if (transactionActionBuilder_ == null) {
            return transactionAction_;
          } else {
            return transactionActionBuilder_.getMessage();
          }
        }
        public Builder setTransactionAction(com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto value) {
          if (transactionActionBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            transactionAction_ = value;
            onChanged();
          } else {
            transactionActionBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder setTransactionAction(
            com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto.Builder builderForValue) {
          if (transactionActionBuilder_ == null) {
            transactionAction_ = builderForValue.build();
            onChanged();
          } else {
            transactionActionBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder mergeTransactionAction(com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto value) {
          if (transactionActionBuilder_ == null) {
            if (((bitField0_ & 0x00000002) == 0x00000002) &&
                transactionAction_ != com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto.getDefaultInstance()) {
              transactionAction_ =
                com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto.newBuilder(transactionAction_).mergeFrom(value).buildPartial();
            } else {
              transactionAction_ = value;
            }
            onChanged();
          } else {
            transactionActionBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder clearTransactionAction() {
          if (transactionActionBuilder_ == null) {
            transactionAction_ = com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto.getDefaultInstance();
            onChanged();
          } else {
            transactionActionBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto.Builder getTransactionActionBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getTransactionActionFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProtoOrBuilder getTransactionActionOrBuilder() {
          if (transactionActionBuilder_ != null) {
            return transactionActionBuilder_.getMessageOrBuilder();
          } else {
            return transactionAction_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto, com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto.Builder, com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProtoOrBuilder> 
            getTransactionActionFieldBuilder() {
          if (transactionActionBuilder_ == null) {
            transactionActionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto, com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProto.Builder, com.alibaba.wasp.protobuf.generated.MetaProtos.TransactionActionProtoOrBuilder>(
                    transactionAction_,
                    getParentForChildren(),
                    isClean());
            transactionAction_ = null;
          }
          return transactionActionBuilder_;
        }
        
        // @@protoc_insertion_point(builder_scope:TransactionRequest)
      }
      
      static {
        defaultInstance = new TransactionRequest(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:TransactionRequest)
    }
    
    public interface TransactionResponseOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required .WriteResultProto result = 1;
      boolean hasResult();
      com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto getResult();
      com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder getResultOrBuilder();
    }
    public static final class TransactionResponse extends
        com.google.protobuf.GeneratedMessage
        implements TransactionResponseOrBuilder {
      // Use TransactionResponse.newBuilder() to construct.
      private TransactionResponse(Builder builder) {
        super(builder);
      }
      private TransactionResponse(boolean noInit) {}
      
      private static final TransactionResponse defaultInstance;
      public static TransactionResponse getDefaultInstance() {
        return defaultInstance;
      }
      
      public TransactionResponse getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_TransactionResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_TransactionResponse_fieldAccessorTable;
      }
      
      private int bitField0_;
      // required .WriteResultProto result = 1;
      public static final int RESULT_FIELD_NUMBER = 1;
      private com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto result_;
      public boolean hasResult() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto getResult() {
        return result_;
      }
      public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder getResultOrBuilder() {
        return result_;
      }
      
      private void initFields() {
        result_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasResult()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getResult().isInitialized()) {
          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.writeMessage(1, result_);
        }
        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
            .computeMessageSize(1, result_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse other = (com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse) obj;
        
        boolean result = true;
        result = result && (hasResult() == other.hasResult());
        if (hasResult()) {
          result = result && getResult()
              .equals(other.getResult());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasResult()) {
          hash = (37 * hash) + RESULT_FIELD_NUMBER;
          hash = (53 * hash) + getResult().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse 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.protobuf.generated.ClientProtos.TransactionResponse parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse 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.protobuf.generated.ClientProtos.TransactionResponse 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.protobuf.generated.ClientProtos.TransactionResponse 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.protobuf.generated.ClientProtos.TransactionResponse parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse 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.protobuf.generated.ClientProtos.TransactionResponse prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.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.protobuf.generated.ClientProtos.TransactionResponseOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_TransactionResponse_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.internal_static_TransactionResponse_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getResultFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          if (resultBuilder_ == null) {
            result_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
          } else {
            resultBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse build() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse buildPartial() {
          com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse result = new com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (resultBuilder_ == null) {
            result.result_ = result_;
          } else {
            result.result_ = resultBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse other) {
          if (other == com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse.getDefaultInstance()) return this;
          if (other.hasResult()) {
            mergeResult(other.getResult());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasResult()) {
            
            return false;
          }
          if (!getResult().isInitialized()) {
            
            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: {
                com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder subBuilder = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.newBuilder();
                if (hasResult()) {
                  subBuilder.mergeFrom(getResult());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setResult(subBuilder.buildPartial());
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required .WriteResultProto result = 1;
        private com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto result_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder> resultBuilder_;
        public boolean hasResult() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto getResult() {
          if (resultBuilder_ == null) {
            return result_;
          } else {
            return resultBuilder_.getMessage();
          }
        }
        public Builder setResult(com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto value) {
          if (resultBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            result_ = value;
            onChanged();
          } else {
            resultBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder setResult(
            com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder builderForValue) {
          if (resultBuilder_ == null) {
            result_ = builderForValue.build();
            onChanged();
          } else {
            resultBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder mergeResult(com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto value) {
          if (resultBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                result_ != com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance()) {
              result_ =
                com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.newBuilder(result_).mergeFrom(value).buildPartial();
            } else {
              result_ = value;
            }
            onChanged();
          } else {
            resultBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder clearResult() {
          if (resultBuilder_ == null) {
            result_ = com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.getDefaultInstance();
            onChanged();
          } else {
            resultBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder getResultBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getResultFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder getResultOrBuilder() {
          if (resultBuilder_ != null) {
            return resultBuilder_.getMessageOrBuilder();
          } else {
            return result_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder> 
            getResultFieldBuilder() {
          if (resultBuilder_ == null) {
            resultBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder, com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProtoOrBuilder>(
                    result_,
                    getParentForChildren(),
                    isClean());
            result_ = null;
          }
          return resultBuilder_;
        }
        
        // @@protoc_insertion_point(builder_scope:TransactionResponse)
      }
      
      static {
        defaultInstance = new TransactionResponse(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:TransactionResponse)
    }
    
    public static abstract class ClientService
        implements com.google.protobuf.Service {
      protected ClientService() {}
      
      public interface Interface {
        public abstract void execute(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest request,
            com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse> done);
        
        public abstract void get(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest request,
            com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse> done);
        
        public abstract void scan(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest request,
            com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse> done);
        
        public abstract void insert(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest request,
            com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse> done);
        
        public abstract void update(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest request,
            com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse> done);
        
        public abstract void delete(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest request,
            com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse> done);
        
        public abstract void transaction(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest request,
            com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse> done);
        
      }
      
      public static com.google.protobuf.Service newReflectiveService(
          final Interface impl) {
        return new ClientService() {
          @java.lang.Override
          public  void execute(
              com.google.protobuf.RpcController controller,
              com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest request,
              com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse> done) {
            impl.execute(controller, request, done);
          }
          
          @java.lang.Override
          public  void get(
              com.google.protobuf.RpcController controller,
              com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest request,
              com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse> done) {
            impl.get(controller, request, done);
          }
          
          @java.lang.Override
          public  void scan(
              com.google.protobuf.RpcController controller,
              com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest request,
              com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse> done) {
            impl.scan(controller, request, done);
          }
          
          @java.lang.Override
          public  void insert(
              com.google.protobuf.RpcController controller,
              com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest request,
              com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse> done) {
            impl.insert(controller, request, done);
          }
          
          @java.lang.Override
          public  void update(
              com.google.protobuf.RpcController controller,
              com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest request,
              com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse> done) {
            impl.update(controller, request, done);
          }
          
          @java.lang.Override
          public  void delete(
              com.google.protobuf.RpcController controller,
              com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest request,
              com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse> done) {
            impl.delete(controller, request, done);
          }
          
          @java.lang.Override
          public  void transaction(
              com.google.protobuf.RpcController controller,
              com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest request,
              com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse> done) {
            impl.transaction(controller, request, done);
          }
          
        };
      }
      
      public static com.google.protobuf.BlockingService
          newReflectiveBlockingService(final BlockingInterface impl) {
        return new com.google.protobuf.BlockingService() {
          public final com.google.protobuf.Descriptors.ServiceDescriptor
              getDescriptorForType() {
            return getDescriptor();
          }
          
          public final com.google.protobuf.Message callBlockingMethod(
              com.google.protobuf.Descriptors.MethodDescriptor method,
              com.google.protobuf.RpcController controller,
              com.google.protobuf.Message request)
              throws com.google.protobuf.ServiceException {
            if (method.getService() != getDescriptor()) {
              throw new java.lang.IllegalArgumentException(
                "Service.callBlockingMethod() given method descriptor for " +
                "wrong service type.");
            }
            switch(method.getIndex()) {
              case 0:
                return impl.execute(controller, (com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest)request);
              case 1:
                return impl.get(controller, (com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest)request);
              case 2:
                return impl.scan(controller, (com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest)request);
              case 3:
                return impl.insert(controller, (com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest)request);
              case 4:
                return impl.update(controller, (com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest)request);
              case 5:
                return impl.delete(controller, (com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest)request);
              case 6:
                return impl.transaction(controller, (com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest)request);
              default:
                throw new java.lang.AssertionError("Can't get here.");
            }
          }
          
          public final com.google.protobuf.Message
              getRequestPrototype(
              com.google.protobuf.Descriptors.MethodDescriptor method) {
            if (method.getService() != getDescriptor()) {
              throw new java.lang.IllegalArgumentException(
                "Service.getRequestPrototype() given method " +
                "descriptor for wrong service type.");
            }
            switch(method.getIndex()) {
              case 0:
                return com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest.getDefaultInstance();
              case 1:
                return com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest.getDefaultInstance();
              case 2:
                return com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest.getDefaultInstance();
              case 3:
                return com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest.getDefaultInstance();
              case 4:
                return com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest.getDefaultInstance();
              case 5:
                return com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest.getDefaultInstance();
              case 6:
                return com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest.getDefaultInstance();
              default:
                throw new java.lang.AssertionError("Can't get here.");
            }
          }
          
          public final com.google.protobuf.Message
              getResponsePrototype(
              com.google.protobuf.Descriptors.MethodDescriptor method) {
            if (method.getService() != getDescriptor()) {
              throw new java.lang.IllegalArgumentException(
                "Service.getResponsePrototype() given method " +
                "descriptor for wrong service type.");
            }
            switch(method.getIndex()) {
              case 0:
                return com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse.getDefaultInstance();
              case 1:
                return com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse.getDefaultInstance();
              case 2:
                return com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse.getDefaultInstance();
              case 3:
                return com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse.getDefaultInstance();
              case 4:
                return com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse.getDefaultInstance();
              case 5:
                return com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse.getDefaultInstance();
              case 6:
                return com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse.getDefaultInstance();
              default:
                throw new java.lang.AssertionError("Can't get here.");
            }
          }
          
        };
      }
      
      public abstract void execute(
          com.google.protobuf.RpcController controller,
          com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest request,
          com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse> done);
      
      public abstract void get(
          com.google.protobuf.RpcController controller,
          com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest request,
          com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse> done);
      
      public abstract void scan(
          com.google.protobuf.RpcController controller,
          com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest request,
          com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse> done);
      
      public abstract void insert(
          com.google.protobuf.RpcController controller,
          com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest request,
          com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse> done);
      
      public abstract void update(
          com.google.protobuf.RpcController controller,
          com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest request,
          com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse> done);
      
      public abstract void delete(
          com.google.protobuf.RpcController controller,
          com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest request,
          com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse> done);
      
      public abstract void transaction(
          com.google.protobuf.RpcController controller,
          com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest request,
          com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse> done);
      
      public static final
          com.google.protobuf.Descriptors.ServiceDescriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.ClientProtos.getDescriptor().getServices().get(0);
      }
      public final com.google.protobuf.Descriptors.ServiceDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      
      public final void callMethod(
          com.google.protobuf.Descriptors.MethodDescriptor method,
          com.google.protobuf.RpcController controller,
          com.google.protobuf.Message request,
          com.google.protobuf.RpcCallback<
            com.google.protobuf.Message> done) {
        if (method.getService() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "Service.callMethod() given method descriptor for wrong " +
            "service type.");
        }
        switch(method.getIndex()) {
          case 0:
            this.execute(controller, (com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest)request,
              com.google.protobuf.RpcUtil.<com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse>specializeCallback(
                done));
            return;
          case 1:
            this.get(controller, (com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest)request,
              com.google.protobuf.RpcUtil.<com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse>specializeCallback(
                done));
            return;
          case 2:
            this.scan(controller, (com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest)request,
              com.google.protobuf.RpcUtil.<com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse>specializeCallback(
                done));
            return;
          case 3:
            this.insert(controller, (com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest)request,
              com.google.protobuf.RpcUtil.<com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse>specializeCallback(
                done));
            return;
          case 4:
            this.update(controller, (com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest)request,
              com.google.protobuf.RpcUtil.<com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse>specializeCallback(
                done));
            return;
          case 5:
            this.delete(controller, (com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest)request,
              com.google.protobuf.RpcUtil.<com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse>specializeCallback(
                done));
            return;
          case 6:
            this.transaction(controller, (com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest)request,
              com.google.protobuf.RpcUtil.<com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse>specializeCallback(
                done));
            return;
          default:
            throw new java.lang.AssertionError("Can't get here.");
        }
      }
      
      public final com.google.protobuf.Message
          getRequestPrototype(
          com.google.protobuf.Descriptors.MethodDescriptor method) {
        if (method.getService() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "Service.getRequestPrototype() given method " +
            "descriptor for wrong service type.");
        }
        switch(method.getIndex()) {
          case 0:
            return com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest.getDefaultInstance();
          case 1:
            return com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest.getDefaultInstance();
          case 2:
            return com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest.getDefaultInstance();
          case 3:
            return com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest.getDefaultInstance();
          case 4:
            return com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest.getDefaultInstance();
          case 5:
            return com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest.getDefaultInstance();
          case 6:
            return com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest.getDefaultInstance();
          default:
            throw new java.lang.AssertionError("Can't get here.");
        }
      }
      
      public final com.google.protobuf.Message
          getResponsePrototype(
          com.google.protobuf.Descriptors.MethodDescriptor method) {
        if (method.getService() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "Service.getResponsePrototype() given method " +
            "descriptor for wrong service type.");
        }
        switch(method.getIndex()) {
          case 0:
            return com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse.getDefaultInstance();
          case 1:
            return com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse.getDefaultInstance();
          case 2:
            return com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse.getDefaultInstance();
          case 3:
            return com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse.getDefaultInstance();
          case 4:
            return com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse.getDefaultInstance();
          case 5:
            return com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse.getDefaultInstance();
          case 6:
            return com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse.getDefaultInstance();
          default:
            throw new java.lang.AssertionError("Can't get here.");
        }
      }
      
      public static Stub newStub(
          com.google.protobuf.RpcChannel channel) {
        return new Stub(channel);
      }
      
      public static final class Stub extends com.alibaba.wasp.protobuf.generated.ClientProtos.ClientService implements Interface {
        private Stub(com.google.protobuf.RpcChannel channel) {
          this.channel = channel;
        }
        
        private final com.google.protobuf.RpcChannel channel;
        
        public com.google.protobuf.RpcChannel getChannel() {
          return channel;
        }
        
        public  void execute(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest request,
            com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse> done) {
          channel.callMethod(
            getDescriptor().getMethods().get(0),
            controller,
            request,
            com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse.getDefaultInstance(),
            com.google.protobuf.RpcUtil.generalizeCallback(
              done,
              com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse.class,
              com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse.getDefaultInstance()));
        }
        
        public  void get(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest request,
            com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse> done) {
          channel.callMethod(
            getDescriptor().getMethods().get(1),
            controller,
            request,
            com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse.getDefaultInstance(),
            com.google.protobuf.RpcUtil.generalizeCallback(
              done,
              com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse.class,
              com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse.getDefaultInstance()));
        }
        
        public  void scan(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest request,
            com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse> done) {
          channel.callMethod(
            getDescriptor().getMethods().get(2),
            controller,
            request,
            com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse.getDefaultInstance(),
            com.google.protobuf.RpcUtil.generalizeCallback(
              done,
              com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse.class,
              com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse.getDefaultInstance()));
        }
        
        public  void insert(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest request,
            com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse> done) {
          channel.callMethod(
            getDescriptor().getMethods().get(3),
            controller,
            request,
            com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse.getDefaultInstance(),
            com.google.protobuf.RpcUtil.generalizeCallback(
              done,
              com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse.class,
              com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse.getDefaultInstance()));
        }
        
        public  void update(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest request,
            com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse> done) {
          channel.callMethod(
            getDescriptor().getMethods().get(4),
            controller,
            request,
            com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse.getDefaultInstance(),
            com.google.protobuf.RpcUtil.generalizeCallback(
              done,
              com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse.class,
              com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse.getDefaultInstance()));
        }
        
        public  void delete(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest request,
            com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse> done) {
          channel.callMethod(
            getDescriptor().getMethods().get(5),
            controller,
            request,
            com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse.getDefaultInstance(),
            com.google.protobuf.RpcUtil.generalizeCallback(
              done,
              com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse.class,
              com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse.getDefaultInstance()));
        }
        
        public  void transaction(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest request,
            com.google.protobuf.RpcCallback<com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse> done) {
          channel.callMethod(
            getDescriptor().getMethods().get(6),
            controller,
            request,
            com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse.getDefaultInstance(),
            com.google.protobuf.RpcUtil.generalizeCallback(
              done,
              com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse.class,
              com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse.getDefaultInstance()));
        }
      }
      
      public static BlockingInterface newBlockingStub(
          com.google.protobuf.BlockingRpcChannel channel) {
        return new BlockingStub(channel);
      }
      
      public interface BlockingInterface {
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse execute(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest request)
            throws com.google.protobuf.ServiceException;
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse get(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest request)
            throws com.google.protobuf.ServiceException;
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse scan(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest request)
            throws com.google.protobuf.ServiceException;
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse insert(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest request)
            throws com.google.protobuf.ServiceException;
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse update(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest request)
            throws com.google.protobuf.ServiceException;
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse delete(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest request)
            throws com.google.protobuf.ServiceException;
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse transaction(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest request)
            throws com.google.protobuf.ServiceException;
      }
      
      private static final class BlockingStub implements BlockingInterface {
        private BlockingStub(com.google.protobuf.BlockingRpcChannel channel) {
          this.channel = channel;
        }
        
        private final com.google.protobuf.BlockingRpcChannel channel;
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse execute(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest request)
            throws com.google.protobuf.ServiceException {
          return (com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse) channel.callBlockingMethod(
            getDescriptor().getMethods().get(0),
            controller,
            request,
            com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse.getDefaultInstance());
        }
        
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse get(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest request)
            throws com.google.protobuf.ServiceException {
          return (com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse) channel.callBlockingMethod(
            getDescriptor().getMethods().get(1),
            controller,
            request,
            com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse.getDefaultInstance());
        }
        
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse scan(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest request)
            throws com.google.protobuf.ServiceException {
          return (com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse) channel.callBlockingMethod(
            getDescriptor().getMethods().get(2),
            controller,
            request,
            com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse.getDefaultInstance());
        }
        
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse insert(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest request)
            throws com.google.protobuf.ServiceException {
          return (com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse) channel.callBlockingMethod(
            getDescriptor().getMethods().get(3),
            controller,
            request,
            com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse.getDefaultInstance());
        }
        
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse update(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest request)
            throws com.google.protobuf.ServiceException {
          return (com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse) channel.callBlockingMethod(
            getDescriptor().getMethods().get(4),
            controller,
            request,
            com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse.getDefaultInstance());
        }
        
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse delete(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest request)
            throws com.google.protobuf.ServiceException {
          return (com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse) channel.callBlockingMethod(
            getDescriptor().getMethods().get(5),
            controller,
            request,
            com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse.getDefaultInstance());
        }
        
        
        public com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse transaction(
            com.google.protobuf.RpcController controller,
            com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest request)
            throws com.google.protobuf.ServiceException {
          return (com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse) channel.callBlockingMethod(
            getDescriptor().getMethods().get(6),
            controller,
            request,
            com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse.getDefaultInstance());
        }
        
      }
    }
    
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_ExecuteResultProto_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_ExecuteResultProto_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_StringDataTypePair_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_StringDataTypePair_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_QueryResultProto_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_QueryResultProto_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_WriteResultProto_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_WriteResultProto_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_ExecuteRequest_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_ExecuteRequest_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_ExecuteResponse_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_ExecuteResponse_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_GetRequest_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_GetRequest_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_GetResponse_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_GetResponse_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_ScanRequest_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_ScanRequest_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_ScanResponse_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_ScanResponse_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_InsertRequest_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_InsertRequest_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_InsertResponse_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_InsertResponse_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_UpdateRequest_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_UpdateRequest_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_UpdateResponse_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_UpdateResponse_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_DeleteRequest_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_DeleteRequest_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_DeleteResponse_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_DeleteResponse_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_TransactionRequest_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_TransactionRequest_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_TransactionResponse_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_TransactionResponse_fieldAccessorTable;
    
    public static com.google.protobuf.Descriptors.FileDescriptor
        getDescriptor() {
      return descriptor;
    }
    private static com.google.protobuf.Descriptors.FileDescriptor
        descriptor;
    static {
      java.lang.String[] descriptorData = {
        "\n\014Client.proto\032\nWasp.proto\032\020Comparator.p" +
        "roto\032\nMeta.proto\"\266\001\n\022ExecuteResultProto\022" +
        ",\n\004type\030\001 \002(\0162\036.ExecuteResultProto.Resul" +
        "tType\022&\n\013queryResult\030\002 \001(\0132\021.QueryResult" +
        "Proto\022&\n\013writeResult\030\003 \001(\0132\021.WriteResult" +
        "Proto\"\"\n\nResultType\022\t\n\005QUERY\020\000\022\t\n\005WRITE\020" +
        "\001\"E\n\022StringDataTypePair\022\014\n\004name\030\001 \002(\t\022!\n" +
        "\010dataType\030\002 \002(\0162\017.DataTypeProtos\"4\n\020Quer" +
        "yResultProto\022 \n\006result\030\001 \003(\0132\020.StringByt" +
        "esPair\"\245\001\n\020WriteResultProto\022*\n\004code\030\001 \002(",
        "\0162\034.WriteResultProto.StatusCode\022\024\n\014excep" +
        "tionMsg\030\002 \001(\t\022\032\n\022exceptionClassName\030\003 \001(" +
        "\t\"3\n\nStatusCode\022\013\n\007SUCCESS\020\000\022\013\n\007FAILURE\020" +
        "\001\022\013\n\007NOT_RUN\020\002\"\254\001\n\016ExecuteRequest\022\013\n\003sql" +
        "\030\001 \001(\t\022\"\n\treadModel\030\002 \001(\0162\017.ReadModelPro" +
        "to\022\021\n\tsessionId\030\003 \001(\t\022\024\n\014closeSession\030\004 " +
        "\001(\010\022\021\n\tfetchSize\030\005 \001(\r\022\025\n\risTransaction\030" +
        "\006 \001(\010\022\026\n\016transactionSql\030\007 \003(\t\"\221\001\n\017Execut" +
        "eResponse\022\021\n\ttableName\030\001 \001(\t\022!\n\004meta\030\002 \003" +
        "(\0132\023.StringDataTypePair\022#\n\006result\030\003 \003(\0132",
        "\023.ExecuteResultProto\022\021\n\tsessionId\030\004 \001(\t\022" +
        "\020\n\010lastScan\030\005 \001(\010\"V\n\nGetRequest\022*\n\013entit" +
        "yGroup\030\001 \002(\0132\025.EntityGroupSpecifier\022\034\n\003g" +
        "et\030\002 \002(\0132\017.GetActionProto\"c\n\013GetResponse" +
        "\022!\n\006result\030\001 \001(\0132\021.QueryResultProto\022!\n\004m" +
        "eta\030\002 \003(\0132\023.StringDataTypePair\022\016\n\006exists" +
        "\030\003 \001(\010\"\217\001\n\013ScanRequest\022$\n\nscanAction\030\001 \002" +
        "(\0132\020.ScanActionProto\022\021\n\tscannerId\030\002 \001(\004\022" +
        "\033\n\014closeScanner\030\003 \001(\010:\005false\022*\n\013entityGr" +
        "oup\030\004 \002(\0132\025.EntityGroupSpecifier\"g\n\014Scan",
        "Response\022!\n\006result\030\001 \003(\0132\021.QueryResultPr" +
        "oto\022!\n\004meta\030\002 \003(\0132\023.StringDataTypePair\022\021" +
        "\n\tscannerId\030\003 \002(\004\"e\n\rInsertRequest\022*\n\013en" +
        "tityGroup\030\001 \002(\0132\025.EntityGroupSpecifier\022(" +
        "\n\014insertAction\030\002 \002(\0132\022.InsertActionProto" +
        "\"3\n\016InsertResponse\022!\n\006result\030\001 \002(\0132\021.Wri" +
        "teResultProto\"e\n\rUpdateRequest\022*\n\013entity" +
        "Group\030\001 \002(\0132\025.EntityGroupSpecifier\022(\n\014up" +
        "dateAction\030\002 \002(\0132\022.UpdateActionProto\"3\n\016" +
        "UpdateResponse\022!\n\006result\030\001 \002(\0132\021.WriteRe",
        "sultProto\"e\n\rDeleteRequest\022*\n\013entityGrou" +
        "p\030\001 \002(\0132\025.EntityGroupSpecifier\022(\n\014delete" +
        "Action\030\002 \002(\0132\022.DeleteActionProto\"3\n\016Dele" +
        "teResponse\022!\n\006result\030\001 \002(\0132\021.WriteResult" +
        "Proto\"t\n\022TransactionRequest\022*\n\013entityGro" +
        "up\030\001 \002(\0132\025.EntityGroupSpecifier\0222\n\021trans" +
        "actionAction\030\002 \002(\0132\027.TransactionActionPr" +
        "oto\"8\n\023TransactionResponse\022!\n\006result\030\001 \002" +
        "(\0132\021.WriteResultProto2\277\002\n\rClientService\022" +
        ",\n\007execute\022\017.ExecuteRequest\032\020.ExecuteRes",
        "ponse\022 \n\003get\022\013.GetRequest\032\014.GetResponse\022" +
        "#\n\004scan\022\014.ScanRequest\032\r.ScanResponse\022)\n\006" +
        "insert\022\016.InsertRequest\032\017.InsertResponse\022" +
        ")\n\006update\022\016.UpdateRequest\032\017.UpdateRespon" +
        "se\022)\n\006delete\022\016.DeleteRequest\032\017.DeleteRes" +
        "ponse\0228\n\013transaction\022\023.TransactionReques" +
        "t\032\024.TransactionResponseB;\n#com.alibaba.w" +
        "asp.protobuf.generatedB\014ClientProtosH\001\210\001" +
        "\001\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_ExecuteResultProto_descriptor =
              getDescriptor().getMessageTypes().get(0);
            internal_static_ExecuteResultProto_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_ExecuteResultProto_descriptor,
                new java.lang.String[] { "Type", "QueryResult", "WriteResult", },
                com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.class,
                com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResultProto.Builder.class);
            internal_static_StringDataTypePair_descriptor =
              getDescriptor().getMessageTypes().get(1);
            internal_static_StringDataTypePair_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_StringDataTypePair_descriptor,
                new java.lang.String[] { "Name", "DataType", },
                com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.class,
                com.alibaba.wasp.protobuf.generated.ClientProtos.StringDataTypePair.Builder.class);
            internal_static_QueryResultProto_descriptor =
              getDescriptor().getMessageTypes().get(2);
            internal_static_QueryResultProto_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_QueryResultProto_descriptor,
                new java.lang.String[] { "Result", },
                com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.class,
                com.alibaba.wasp.protobuf.generated.ClientProtos.QueryResultProto.Builder.class);
            internal_static_WriteResultProto_descriptor =
              getDescriptor().getMessageTypes().get(3);
            internal_static_WriteResultProto_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_WriteResultProto_descriptor,
                new java.lang.String[] { "Code", "ExceptionMsg", "ExceptionClassName", },
                com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.class,
                com.alibaba.wasp.protobuf.generated.ClientProtos.WriteResultProto.Builder.class);
            internal_static_ExecuteRequest_descriptor =
              getDescriptor().getMessageTypes().get(4);
            internal_static_ExecuteRequest_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_ExecuteRequest_descriptor,
                new java.lang.String[] { "Sql", "ReadModel", "SessionId", "CloseSession", "FetchSize", "IsTransaction", "TransactionSql", },
                com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest.class,
                com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteRequest.Builder.class);
            internal_static_ExecuteResponse_descriptor =
              getDescriptor().getMessageTypes().get(5);
            internal_static_ExecuteResponse_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_ExecuteResponse_descriptor,
                new java.lang.String[] { "TableName", "Meta", "Result", "SessionId", "LastScan", },
                com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse.class,
                com.alibaba.wasp.protobuf.generated.ClientProtos.ExecuteResponse.Builder.class);
            internal_static_GetRequest_descriptor =
              getDescriptor().getMessageTypes().get(6);
            internal_static_GetRequest_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_GetRequest_descriptor,
                new java.lang.String[] { "EntityGroup", "Get", },
                com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest.class,
                com.alibaba.wasp.protobuf.generated.ClientProtos.GetRequest.Builder.class);
            internal_static_GetResponse_descriptor =
              getDescriptor().getMessageTypes().get(7);
            internal_static_GetResponse_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_GetResponse_descriptor,
                new java.lang.String[] { "Result", "Meta", "Exists", },
                com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse.class,
                com.alibaba.wasp.protobuf.generated.ClientProtos.GetResponse.Builder.class);
            internal_static_ScanRequest_descriptor =
              getDescriptor().getMessageTypes().get(8);
            internal_static_ScanRequest_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_ScanRequest_descriptor,
                new java.lang.String[] { "ScanAction", "ScannerId", "CloseScanner", "EntityGroup", },
                com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest.class,
                com.alibaba.wasp.protobuf.generated.ClientProtos.ScanRequest.Builder.class);
            internal_static_ScanResponse_descriptor =
              getDescriptor().getMessageTypes().get(9);
            internal_static_ScanResponse_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_ScanResponse_descriptor,
                new java.lang.String[] { "Result", "Meta", "ScannerId", },
                com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse.class,
                com.alibaba.wasp.protobuf.generated.ClientProtos.ScanResponse.Builder.class);
            internal_static_InsertRequest_descriptor =
              getDescriptor().getMessageTypes().get(10);
            internal_static_InsertRequest_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_InsertRequest_descriptor,
                new java.lang.String[] { "EntityGroup", "InsertAction", },
                com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest.class,
                com.alibaba.wasp.protobuf.generated.ClientProtos.InsertRequest.Builder.class);
            internal_static_InsertResponse_descriptor =
              getDescriptor().getMessageTypes().get(11);
            internal_static_InsertResponse_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_InsertResponse_descriptor,
                new java.lang.String[] { "Result", },
                com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse.class,
                com.alibaba.wasp.protobuf.generated.ClientProtos.InsertResponse.Builder.class);
            internal_static_UpdateRequest_descriptor =
              getDescriptor().getMessageTypes().get(12);
            internal_static_UpdateRequest_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_UpdateRequest_descriptor,
                new java.lang.String[] { "EntityGroup", "UpdateAction", },
                com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest.class,
                com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateRequest.Builder.class);
            internal_static_UpdateResponse_descriptor =
              getDescriptor().getMessageTypes().get(13);
            internal_static_UpdateResponse_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_UpdateResponse_descriptor,
                new java.lang.String[] { "Result", },
                com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse.class,
                com.alibaba.wasp.protobuf.generated.ClientProtos.UpdateResponse.Builder.class);
            internal_static_DeleteRequest_descriptor =
              getDescriptor().getMessageTypes().get(14);
            internal_static_DeleteRequest_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_DeleteRequest_descriptor,
                new java.lang.String[] { "EntityGroup", "DeleteAction", },
                com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest.class,
                com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteRequest.Builder.class);
            internal_static_DeleteResponse_descriptor =
              getDescriptor().getMessageTypes().get(15);
            internal_static_DeleteResponse_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_DeleteResponse_descriptor,
                new java.lang.String[] { "Result", },
                com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse.class,
                com.alibaba.wasp.protobuf.generated.ClientProtos.DeleteResponse.Builder.class);
            internal_static_TransactionRequest_descriptor =
              getDescriptor().getMessageTypes().get(16);
            internal_static_TransactionRequest_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_TransactionRequest_descriptor,
                new java.lang.String[] { "EntityGroup", "TransactionAction", },
                com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest.class,
                com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionRequest.Builder.class);
            internal_static_TransactionResponse_descriptor =
              getDescriptor().getMessageTypes().get(17);
            internal_static_TransactionResponse_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_TransactionResponse_descriptor,
                new java.lang.String[] { "Result", },
                com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse.class,
                com.alibaba.wasp.protobuf.generated.ClientProtos.TransactionResponse.Builder.class);
            return null;
          }
        };
      com.google.protobuf.Descriptors.FileDescriptor
        .internalBuildGeneratedFileFrom(descriptorData,
          new com.google.protobuf.Descriptors.FileDescriptor[] {
            com.alibaba.wasp.protobuf.generated.WaspProtos.getDescriptor(),
            com.alibaba.wasp.protobuf.generated.ComparatorProtos.getDescriptor(),
            com.alibaba.wasp.protobuf.generated.MetaProtos.getDescriptor(),
          }, assigner);
    }
    
    // @@protoc_insertion_point(outer_class_scope)
  }
  