All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.scalar.db.rpc.TwoPhaseCommitTransactionRequest Maven / Gradle / Ivy

The newest version!
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: scalardb.proto

package com.scalar.db.rpc;

/**
 * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest}
 */
public final class TwoPhaseCommitTransactionRequest extends
    com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:rpc.TwoPhaseCommitTransactionRequest)
    TwoPhaseCommitTransactionRequestOrBuilder {
private static final long serialVersionUID = 0L;
  // Use TwoPhaseCommitTransactionRequest.newBuilder() to construct.
  private TwoPhaseCommitTransactionRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
    super(builder);
  }
  private TwoPhaseCommitTransactionRequest() {
  }

  @java.lang.Override
  @SuppressWarnings({"unused"})
  protected java.lang.Object newInstance(
      UnusedPrivateParameter unused) {
    return new TwoPhaseCommitTransactionRequest();
  }

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet
  getUnknownFields() {
    return this.unknownFields;
  }
  public static final com.google.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.Builder.class);
  }

  public interface BeginRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:rpc.TwoPhaseCommitTransactionRequest.BeginRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * optional string transaction_id = 1;
     * @return Whether the transactionId field is set.
     */
    boolean hasTransactionId();
    /**
     * optional string transaction_id = 1;
     * @return The transactionId.
     */
    java.lang.String getTransactionId();
    /**
     * optional string transaction_id = 1;
     * @return The bytes for transactionId.
     */
    com.google.protobuf.ByteString
        getTransactionIdBytes();
  }
  /**
   * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.BeginRequest}
   */
  public static final class BeginRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:rpc.TwoPhaseCommitTransactionRequest.BeginRequest)
      BeginRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use BeginRequest.newBuilder() to construct.
    private BeginRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private BeginRequest() {
      transactionId_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new BeginRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_BeginRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_BeginRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest.Builder.class);
    }

    private int bitField0_;
    public static final int TRANSACTION_ID_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object transactionId_ = "";
    /**
     * optional string transaction_id = 1;
     * @return Whether the transactionId field is set.
     */
    @java.lang.Override
    public boolean hasTransactionId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional string transaction_id = 1;
     * @return The transactionId.
     */
    @java.lang.Override
    public java.lang.String getTransactionId() {
      java.lang.Object ref = transactionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        transactionId_ = s;
        return s;
      }
    }
    /**
     * optional string transaction_id = 1;
     * @return The bytes for transactionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getTransactionIdBytes() {
      java.lang.Object ref = transactionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        transactionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, transactionId_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, transactionId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest)) {
        return super.equals(obj);
      }
      com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest other = (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest) obj;

      if (hasTransactionId() != other.hasTransactionId()) return false;
      if (hasTransactionId()) {
        if (!getTransactionId()
            .equals(other.getTransactionId())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasTransactionId()) {
        hash = (37 * hash) + TRANSACTION_ID_FIELD_NUMBER;
        hash = (53 * hash) + getTransactionId().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.BeginRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:rpc.TwoPhaseCommitTransactionRequest.BeginRequest)
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_BeginRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_BeginRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest.Builder.class);
      }

      // Construct using com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        transactionId_ = "";
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_BeginRequest_descriptor;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest getDefaultInstanceForType() {
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest build() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest buildPartial() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest result = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.transactionId_ = transactionId_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest) {
          return mergeFrom((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest other) {
        if (other == com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest.getDefaultInstance()) return this;
        if (other.hasTransactionId()) {
          transactionId_ = other.transactionId_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                transactionId_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private java.lang.Object transactionId_ = "";
      /**
       * optional string transaction_id = 1;
       * @return Whether the transactionId field is set.
       */
      public boolean hasTransactionId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional string transaction_id = 1;
       * @return The transactionId.
       */
      public java.lang.String getTransactionId() {
        java.lang.Object ref = transactionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          transactionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string transaction_id = 1;
       * @return The bytes for transactionId.
       */
      public com.google.protobuf.ByteString
          getTransactionIdBytes() {
        java.lang.Object ref = transactionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          transactionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string transaction_id = 1;
       * @param value The transactionId to set.
       * @return This builder for chaining.
       */
      public Builder setTransactionId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        transactionId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional string transaction_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearTransactionId() {
        transactionId_ = getDefaultInstance().getTransactionId();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * optional string transaction_id = 1;
       * @param value The bytes for transactionId to set.
       * @return This builder for chaining.
       */
      public Builder setTransactionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        transactionId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:rpc.TwoPhaseCommitTransactionRequest.BeginRequest)
    }

    // @@protoc_insertion_point(class_scope:rpc.TwoPhaseCommitTransactionRequest.BeginRequest)
    private static final com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest();
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public BeginRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface StartRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:rpc.TwoPhaseCommitTransactionRequest.StartRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * optional string transaction_id = 1;
     * @return Whether the transactionId field is set.
     */
    boolean hasTransactionId();
    /**
     * optional string transaction_id = 1;
     * @return The transactionId.
     */
    java.lang.String getTransactionId();
    /**
     * optional string transaction_id = 1;
     * @return The bytes for transactionId.
     */
    com.google.protobuf.ByteString
        getTransactionIdBytes();
  }
  /**
   * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.StartRequest}
   */
  public static final class StartRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:rpc.TwoPhaseCommitTransactionRequest.StartRequest)
      StartRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use StartRequest.newBuilder() to construct.
    private StartRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private StartRequest() {
      transactionId_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new StartRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_StartRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_StartRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest.Builder.class);
    }

    private int bitField0_;
    public static final int TRANSACTION_ID_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object transactionId_ = "";
    /**
     * optional string transaction_id = 1;
     * @return Whether the transactionId field is set.
     */
    @java.lang.Override
    public boolean hasTransactionId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional string transaction_id = 1;
     * @return The transactionId.
     */
    @java.lang.Override
    public java.lang.String getTransactionId() {
      java.lang.Object ref = transactionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        transactionId_ = s;
        return s;
      }
    }
    /**
     * optional string transaction_id = 1;
     * @return The bytes for transactionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getTransactionIdBytes() {
      java.lang.Object ref = transactionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        transactionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, transactionId_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, transactionId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest)) {
        return super.equals(obj);
      }
      com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest other = (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest) obj;

      if (hasTransactionId() != other.hasTransactionId()) return false;
      if (hasTransactionId()) {
        if (!getTransactionId()
            .equals(other.getTransactionId())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasTransactionId()) {
        hash = (37 * hash) + TRANSACTION_ID_FIELD_NUMBER;
        hash = (53 * hash) + getTransactionId().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.StartRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:rpc.TwoPhaseCommitTransactionRequest.StartRequest)
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_StartRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_StartRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest.Builder.class);
      }

      // Construct using com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        transactionId_ = "";
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_StartRequest_descriptor;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest getDefaultInstanceForType() {
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest build() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest buildPartial() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest result = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.transactionId_ = transactionId_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest) {
          return mergeFrom((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest other) {
        if (other == com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest.getDefaultInstance()) return this;
        if (other.hasTransactionId()) {
          transactionId_ = other.transactionId_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                transactionId_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private java.lang.Object transactionId_ = "";
      /**
       * optional string transaction_id = 1;
       * @return Whether the transactionId field is set.
       */
      public boolean hasTransactionId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional string transaction_id = 1;
       * @return The transactionId.
       */
      public java.lang.String getTransactionId() {
        java.lang.Object ref = transactionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          transactionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string transaction_id = 1;
       * @return The bytes for transactionId.
       */
      public com.google.protobuf.ByteString
          getTransactionIdBytes() {
        java.lang.Object ref = transactionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          transactionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string transaction_id = 1;
       * @param value The transactionId to set.
       * @return This builder for chaining.
       */
      public Builder setTransactionId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        transactionId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional string transaction_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearTransactionId() {
        transactionId_ = getDefaultInstance().getTransactionId();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * optional string transaction_id = 1;
       * @param value The bytes for transactionId to set.
       * @return This builder for chaining.
       */
      public Builder setTransactionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        transactionId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:rpc.TwoPhaseCommitTransactionRequest.StartRequest)
    }

    // @@protoc_insertion_point(class_scope:rpc.TwoPhaseCommitTransactionRequest.StartRequest)
    private static final com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest();
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public StartRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface JoinRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:rpc.TwoPhaseCommitTransactionRequest.JoinRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * string transaction_id = 1;
     * @return The transactionId.
     */
    java.lang.String getTransactionId();
    /**
     * string transaction_id = 1;
     * @return The bytes for transactionId.
     */
    com.google.protobuf.ByteString
        getTransactionIdBytes();
  }
  /**
   * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.JoinRequest}
   */
  public static final class JoinRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:rpc.TwoPhaseCommitTransactionRequest.JoinRequest)
      JoinRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use JoinRequest.newBuilder() to construct.
    private JoinRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private JoinRequest() {
      transactionId_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new JoinRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_JoinRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_JoinRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest.Builder.class);
    }

    public static final int TRANSACTION_ID_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object transactionId_ = "";
    /**
     * string transaction_id = 1;
     * @return The transactionId.
     */
    @java.lang.Override
    public java.lang.String getTransactionId() {
      java.lang.Object ref = transactionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        transactionId_ = s;
        return s;
      }
    }
    /**
     * string transaction_id = 1;
     * @return The bytes for transactionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getTransactionIdBytes() {
      java.lang.Object ref = transactionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        transactionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(transactionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, transactionId_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(transactionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, transactionId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest)) {
        return super.equals(obj);
      }
      com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest other = (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest) obj;

      if (!getTransactionId()
          .equals(other.getTransactionId())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + TRANSACTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getTransactionId().hashCode();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.JoinRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:rpc.TwoPhaseCommitTransactionRequest.JoinRequest)
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_JoinRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_JoinRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest.Builder.class);
      }

      // Construct using com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        transactionId_ = "";
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_JoinRequest_descriptor;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest getDefaultInstanceForType() {
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest build() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest buildPartial() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest result = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.transactionId_ = transactionId_;
        }
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest) {
          return mergeFrom((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest other) {
        if (other == com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest.getDefaultInstance()) return this;
        if (!other.getTransactionId().isEmpty()) {
          transactionId_ = other.transactionId_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                transactionId_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private java.lang.Object transactionId_ = "";
      /**
       * string transaction_id = 1;
       * @return The transactionId.
       */
      public java.lang.String getTransactionId() {
        java.lang.Object ref = transactionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          transactionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string transaction_id = 1;
       * @return The bytes for transactionId.
       */
      public com.google.protobuf.ByteString
          getTransactionIdBytes() {
        java.lang.Object ref = transactionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          transactionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string transaction_id = 1;
       * @param value The transactionId to set.
       * @return This builder for chaining.
       */
      public Builder setTransactionId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        transactionId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * string transaction_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearTransactionId() {
        transactionId_ = getDefaultInstance().getTransactionId();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * string transaction_id = 1;
       * @param value The bytes for transactionId to set.
       * @return This builder for chaining.
       */
      public Builder setTransactionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        transactionId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:rpc.TwoPhaseCommitTransactionRequest.JoinRequest)
    }

    // @@protoc_insertion_point(class_scope:rpc.TwoPhaseCommitTransactionRequest.JoinRequest)
    private static final com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest();
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public JoinRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface GetRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:rpc.TwoPhaseCommitTransactionRequest.GetRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .rpc.Get get = 2;
     * @return Whether the get field is set.
     */
    boolean hasGet();
    /**
     * .rpc.Get get = 2;
     * @return The get.
     */
    com.scalar.db.rpc.Get getGet();
    /**
     * .rpc.Get get = 2;
     */
    com.scalar.db.rpc.GetOrBuilder getGetOrBuilder();
  }
  /**
   * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.GetRequest}
   */
  public static final class GetRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:rpc.TwoPhaseCommitTransactionRequest.GetRequest)
      GetRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GetRequest.newBuilder() to construct.
    private GetRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private GetRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new GetRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_GetRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_GetRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest.Builder.class);
    }

    public static final int GET_FIELD_NUMBER = 2;
    private com.scalar.db.rpc.Get get_;
    /**
     * .rpc.Get get = 2;
     * @return Whether the get field is set.
     */
    @java.lang.Override
    public boolean hasGet() {
      return get_ != null;
    }
    /**
     * .rpc.Get get = 2;
     * @return The get.
     */
    @java.lang.Override
    public com.scalar.db.rpc.Get getGet() {
      return get_ == null ? com.scalar.db.rpc.Get.getDefaultInstance() : get_;
    }
    /**
     * .rpc.Get get = 2;
     */
    @java.lang.Override
    public com.scalar.db.rpc.GetOrBuilder getGetOrBuilder() {
      return get_ == null ? com.scalar.db.rpc.Get.getDefaultInstance() : get_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (get_ != null) {
        output.writeMessage(2, getGet());
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (get_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getGet());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest)) {
        return super.equals(obj);
      }
      com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest other = (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest) obj;

      if (hasGet() != other.hasGet()) return false;
      if (hasGet()) {
        if (!getGet()
            .equals(other.getGet())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasGet()) {
        hash = (37 * hash) + GET_FIELD_NUMBER;
        hash = (53 * hash) + getGet().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.GetRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:rpc.TwoPhaseCommitTransactionRequest.GetRequest)
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_GetRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_GetRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest.Builder.class);
      }

      // Construct using com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        get_ = null;
        if (getBuilder_ != null) {
          getBuilder_.dispose();
          getBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_GetRequest_descriptor;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest getDefaultInstanceForType() {
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest build() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest buildPartial() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest result = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.get_ = getBuilder_ == null
              ? get_
              : getBuilder_.build();
        }
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest) {
          return mergeFrom((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest other) {
        if (other == com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest.getDefaultInstance()) return this;
        if (other.hasGet()) {
          mergeGet(other.getGet());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 18: {
                input.readMessage(
                    getGetFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 18
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private com.scalar.db.rpc.Get get_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.scalar.db.rpc.Get, com.scalar.db.rpc.Get.Builder, com.scalar.db.rpc.GetOrBuilder> getBuilder_;
      /**
       * .rpc.Get get = 2;
       * @return Whether the get field is set.
       */
      public boolean hasGet() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * .rpc.Get get = 2;
       * @return The get.
       */
      public com.scalar.db.rpc.Get getGet() {
        if (getBuilder_ == null) {
          return get_ == null ? com.scalar.db.rpc.Get.getDefaultInstance() : get_;
        } else {
          return getBuilder_.getMessage();
        }
      }
      /**
       * .rpc.Get get = 2;
       */
      public Builder setGet(com.scalar.db.rpc.Get value) {
        if (getBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          get_ = value;
        } else {
          getBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * .rpc.Get get = 2;
       */
      public Builder setGet(
          com.scalar.db.rpc.Get.Builder builderForValue) {
        if (getBuilder_ == null) {
          get_ = builderForValue.build();
        } else {
          getBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * .rpc.Get get = 2;
       */
      public Builder mergeGet(com.scalar.db.rpc.Get value) {
        if (getBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            get_ != null &&
            get_ != com.scalar.db.rpc.Get.getDefaultInstance()) {
            getGetBuilder().mergeFrom(value);
          } else {
            get_ = value;
          }
        } else {
          getBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * .rpc.Get get = 2;
       */
      public Builder clearGet() {
        bitField0_ = (bitField0_ & ~0x00000001);
        get_ = null;
        if (getBuilder_ != null) {
          getBuilder_.dispose();
          getBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * .rpc.Get get = 2;
       */
      public com.scalar.db.rpc.Get.Builder getGetBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getGetFieldBuilder().getBuilder();
      }
      /**
       * .rpc.Get get = 2;
       */
      public com.scalar.db.rpc.GetOrBuilder getGetOrBuilder() {
        if (getBuilder_ != null) {
          return getBuilder_.getMessageOrBuilder();
        } else {
          return get_ == null ?
              com.scalar.db.rpc.Get.getDefaultInstance() : get_;
        }
      }
      /**
       * .rpc.Get get = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.scalar.db.rpc.Get, com.scalar.db.rpc.Get.Builder, com.scalar.db.rpc.GetOrBuilder> 
          getGetFieldBuilder() {
        if (getBuilder_ == null) {
          getBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.scalar.db.rpc.Get, com.scalar.db.rpc.Get.Builder, com.scalar.db.rpc.GetOrBuilder>(
                  getGet(),
                  getParentForChildren(),
                  isClean());
          get_ = null;
        }
        return getBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:rpc.TwoPhaseCommitTransactionRequest.GetRequest)
    }

    // @@protoc_insertion_point(class_scope:rpc.TwoPhaseCommitTransactionRequest.GetRequest)
    private static final com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest();
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public GetRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ScanRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:rpc.TwoPhaseCommitTransactionRequest.ScanRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .rpc.Scan scan = 2;
     * @return Whether the scan field is set.
     */
    boolean hasScan();
    /**
     * .rpc.Scan scan = 2;
     * @return The scan.
     */
    com.scalar.db.rpc.Scan getScan();
    /**
     * .rpc.Scan scan = 2;
     */
    com.scalar.db.rpc.ScanOrBuilder getScanOrBuilder();
  }
  /**
   * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.ScanRequest}
   */
  public static final class ScanRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:rpc.TwoPhaseCommitTransactionRequest.ScanRequest)
      ScanRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ScanRequest.newBuilder() to construct.
    private ScanRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private ScanRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ScanRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_ScanRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_ScanRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest.Builder.class);
    }

    public static final int SCAN_FIELD_NUMBER = 2;
    private com.scalar.db.rpc.Scan scan_;
    /**
     * .rpc.Scan scan = 2;
     * @return Whether the scan field is set.
     */
    @java.lang.Override
    public boolean hasScan() {
      return scan_ != null;
    }
    /**
     * .rpc.Scan scan = 2;
     * @return The scan.
     */
    @java.lang.Override
    public com.scalar.db.rpc.Scan getScan() {
      return scan_ == null ? com.scalar.db.rpc.Scan.getDefaultInstance() : scan_;
    }
    /**
     * .rpc.Scan scan = 2;
     */
    @java.lang.Override
    public com.scalar.db.rpc.ScanOrBuilder getScanOrBuilder() {
      return scan_ == null ? com.scalar.db.rpc.Scan.getDefaultInstance() : scan_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (scan_ != null) {
        output.writeMessage(2, getScan());
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (scan_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getScan());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest)) {
        return super.equals(obj);
      }
      com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest other = (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest) obj;

      if (hasScan() != other.hasScan()) return false;
      if (hasScan()) {
        if (!getScan()
            .equals(other.getScan())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasScan()) {
        hash = (37 * hash) + SCAN_FIELD_NUMBER;
        hash = (53 * hash) + getScan().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.ScanRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:rpc.TwoPhaseCommitTransactionRequest.ScanRequest)
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_ScanRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_ScanRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest.Builder.class);
      }

      // Construct using com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        scan_ = null;
        if (scanBuilder_ != null) {
          scanBuilder_.dispose();
          scanBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_ScanRequest_descriptor;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest getDefaultInstanceForType() {
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest build() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest buildPartial() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest result = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.scan_ = scanBuilder_ == null
              ? scan_
              : scanBuilder_.build();
        }
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest) {
          return mergeFrom((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest other) {
        if (other == com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest.getDefaultInstance()) return this;
        if (other.hasScan()) {
          mergeScan(other.getScan());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 18: {
                input.readMessage(
                    getScanFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 18
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private com.scalar.db.rpc.Scan scan_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.scalar.db.rpc.Scan, com.scalar.db.rpc.Scan.Builder, com.scalar.db.rpc.ScanOrBuilder> scanBuilder_;
      /**
       * .rpc.Scan scan = 2;
       * @return Whether the scan field is set.
       */
      public boolean hasScan() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * .rpc.Scan scan = 2;
       * @return The scan.
       */
      public com.scalar.db.rpc.Scan getScan() {
        if (scanBuilder_ == null) {
          return scan_ == null ? com.scalar.db.rpc.Scan.getDefaultInstance() : scan_;
        } else {
          return scanBuilder_.getMessage();
        }
      }
      /**
       * .rpc.Scan scan = 2;
       */
      public Builder setScan(com.scalar.db.rpc.Scan value) {
        if (scanBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          scan_ = value;
        } else {
          scanBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * .rpc.Scan scan = 2;
       */
      public Builder setScan(
          com.scalar.db.rpc.Scan.Builder builderForValue) {
        if (scanBuilder_ == null) {
          scan_ = builderForValue.build();
        } else {
          scanBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * .rpc.Scan scan = 2;
       */
      public Builder mergeScan(com.scalar.db.rpc.Scan value) {
        if (scanBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            scan_ != null &&
            scan_ != com.scalar.db.rpc.Scan.getDefaultInstance()) {
            getScanBuilder().mergeFrom(value);
          } else {
            scan_ = value;
          }
        } else {
          scanBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * .rpc.Scan scan = 2;
       */
      public Builder clearScan() {
        bitField0_ = (bitField0_ & ~0x00000001);
        scan_ = null;
        if (scanBuilder_ != null) {
          scanBuilder_.dispose();
          scanBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * .rpc.Scan scan = 2;
       */
      public com.scalar.db.rpc.Scan.Builder getScanBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getScanFieldBuilder().getBuilder();
      }
      /**
       * .rpc.Scan scan = 2;
       */
      public com.scalar.db.rpc.ScanOrBuilder getScanOrBuilder() {
        if (scanBuilder_ != null) {
          return scanBuilder_.getMessageOrBuilder();
        } else {
          return scan_ == null ?
              com.scalar.db.rpc.Scan.getDefaultInstance() : scan_;
        }
      }
      /**
       * .rpc.Scan scan = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.scalar.db.rpc.Scan, com.scalar.db.rpc.Scan.Builder, com.scalar.db.rpc.ScanOrBuilder> 
          getScanFieldBuilder() {
        if (scanBuilder_ == null) {
          scanBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.scalar.db.rpc.Scan, com.scalar.db.rpc.Scan.Builder, com.scalar.db.rpc.ScanOrBuilder>(
                  getScan(),
                  getParentForChildren(),
                  isClean());
          scan_ = null;
        }
        return scanBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:rpc.TwoPhaseCommitTransactionRequest.ScanRequest)
    }

    // @@protoc_insertion_point(class_scope:rpc.TwoPhaseCommitTransactionRequest.ScanRequest)
    private static final com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest();
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ScanRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface MutateRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:rpc.TwoPhaseCommitTransactionRequest.MutateRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * repeated .rpc.Mutation mutations = 2;
     */
    java.util.List 
        getMutationsList();
    /**
     * repeated .rpc.Mutation mutations = 2;
     */
    com.scalar.db.rpc.Mutation getMutations(int index);
    /**
     * repeated .rpc.Mutation mutations = 2;
     */
    int getMutationsCount();
    /**
     * repeated .rpc.Mutation mutations = 2;
     */
    java.util.List 
        getMutationsOrBuilderList();
    /**
     * repeated .rpc.Mutation mutations = 2;
     */
    com.scalar.db.rpc.MutationOrBuilder getMutationsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.MutateRequest}
   */
  public static final class MutateRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:rpc.TwoPhaseCommitTransactionRequest.MutateRequest)
      MutateRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use MutateRequest.newBuilder() to construct.
    private MutateRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private MutateRequest() {
      mutations_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new MutateRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_MutateRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_MutateRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest.Builder.class);
    }

    public static final int MUTATIONS_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private java.util.List mutations_;
    /**
     * repeated .rpc.Mutation mutations = 2;
     */
    @java.lang.Override
    public java.util.List getMutationsList() {
      return mutations_;
    }
    /**
     * repeated .rpc.Mutation mutations = 2;
     */
    @java.lang.Override
    public java.util.List 
        getMutationsOrBuilderList() {
      return mutations_;
    }
    /**
     * repeated .rpc.Mutation mutations = 2;
     */
    @java.lang.Override
    public int getMutationsCount() {
      return mutations_.size();
    }
    /**
     * repeated .rpc.Mutation mutations = 2;
     */
    @java.lang.Override
    public com.scalar.db.rpc.Mutation getMutations(int index) {
      return mutations_.get(index);
    }
    /**
     * repeated .rpc.Mutation mutations = 2;
     */
    @java.lang.Override
    public com.scalar.db.rpc.MutationOrBuilder getMutationsOrBuilder(
        int index) {
      return mutations_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < mutations_.size(); i++) {
        output.writeMessage(2, mutations_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < mutations_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, mutations_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest)) {
        return super.equals(obj);
      }
      com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest other = (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest) obj;

      if (!getMutationsList()
          .equals(other.getMutationsList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getMutationsCount() > 0) {
        hash = (37 * hash) + MUTATIONS_FIELD_NUMBER;
        hash = (53 * hash) + getMutationsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.MutateRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:rpc.TwoPhaseCommitTransactionRequest.MutateRequest)
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_MutateRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_MutateRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest.Builder.class);
      }

      // Construct using com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        if (mutationsBuilder_ == null) {
          mutations_ = java.util.Collections.emptyList();
        } else {
          mutations_ = null;
          mutationsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_MutateRequest_descriptor;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest getDefaultInstanceForType() {
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest build() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest buildPartial() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest result = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest result) {
        if (mutationsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            mutations_ = java.util.Collections.unmodifiableList(mutations_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.mutations_ = mutations_;
        } else {
          result.mutations_ = mutationsBuilder_.build();
        }
      }

      private void buildPartial0(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest result) {
        int from_bitField0_ = bitField0_;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest) {
          return mergeFrom((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest other) {
        if (other == com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest.getDefaultInstance()) return this;
        if (mutationsBuilder_ == null) {
          if (!other.mutations_.isEmpty()) {
            if (mutations_.isEmpty()) {
              mutations_ = other.mutations_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureMutationsIsMutable();
              mutations_.addAll(other.mutations_);
            }
            onChanged();
          }
        } else {
          if (!other.mutations_.isEmpty()) {
            if (mutationsBuilder_.isEmpty()) {
              mutationsBuilder_.dispose();
              mutationsBuilder_ = null;
              mutations_ = other.mutations_;
              bitField0_ = (bitField0_ & ~0x00000001);
              mutationsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getMutationsFieldBuilder() : null;
            } else {
              mutationsBuilder_.addAllMessages(other.mutations_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 18: {
                com.scalar.db.rpc.Mutation m =
                    input.readMessage(
                        com.scalar.db.rpc.Mutation.parser(),
                        extensionRegistry);
                if (mutationsBuilder_ == null) {
                  ensureMutationsIsMutable();
                  mutations_.add(m);
                } else {
                  mutationsBuilder_.addMessage(m);
                }
                break;
              } // case 18
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private java.util.List mutations_ =
        java.util.Collections.emptyList();
      private void ensureMutationsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          mutations_ = new java.util.ArrayList(mutations_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.scalar.db.rpc.Mutation, com.scalar.db.rpc.Mutation.Builder, com.scalar.db.rpc.MutationOrBuilder> mutationsBuilder_;

      /**
       * repeated .rpc.Mutation mutations = 2;
       */
      public java.util.List getMutationsList() {
        if (mutationsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(mutations_);
        } else {
          return mutationsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .rpc.Mutation mutations = 2;
       */
      public int getMutationsCount() {
        if (mutationsBuilder_ == null) {
          return mutations_.size();
        } else {
          return mutationsBuilder_.getCount();
        }
      }
      /**
       * repeated .rpc.Mutation mutations = 2;
       */
      public com.scalar.db.rpc.Mutation getMutations(int index) {
        if (mutationsBuilder_ == null) {
          return mutations_.get(index);
        } else {
          return mutationsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .rpc.Mutation mutations = 2;
       */
      public Builder setMutations(
          int index, com.scalar.db.rpc.Mutation value) {
        if (mutationsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureMutationsIsMutable();
          mutations_.set(index, value);
          onChanged();
        } else {
          mutationsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .rpc.Mutation mutations = 2;
       */
      public Builder setMutations(
          int index, com.scalar.db.rpc.Mutation.Builder builderForValue) {
        if (mutationsBuilder_ == null) {
          ensureMutationsIsMutable();
          mutations_.set(index, builderForValue.build());
          onChanged();
        } else {
          mutationsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .rpc.Mutation mutations = 2;
       */
      public Builder addMutations(com.scalar.db.rpc.Mutation value) {
        if (mutationsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureMutationsIsMutable();
          mutations_.add(value);
          onChanged();
        } else {
          mutationsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .rpc.Mutation mutations = 2;
       */
      public Builder addMutations(
          int index, com.scalar.db.rpc.Mutation value) {
        if (mutationsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureMutationsIsMutable();
          mutations_.add(index, value);
          onChanged();
        } else {
          mutationsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .rpc.Mutation mutations = 2;
       */
      public Builder addMutations(
          com.scalar.db.rpc.Mutation.Builder builderForValue) {
        if (mutationsBuilder_ == null) {
          ensureMutationsIsMutable();
          mutations_.add(builderForValue.build());
          onChanged();
        } else {
          mutationsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .rpc.Mutation mutations = 2;
       */
      public Builder addMutations(
          int index, com.scalar.db.rpc.Mutation.Builder builderForValue) {
        if (mutationsBuilder_ == null) {
          ensureMutationsIsMutable();
          mutations_.add(index, builderForValue.build());
          onChanged();
        } else {
          mutationsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .rpc.Mutation mutations = 2;
       */
      public Builder addAllMutations(
          java.lang.Iterable values) {
        if (mutationsBuilder_ == null) {
          ensureMutationsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, mutations_);
          onChanged();
        } else {
          mutationsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .rpc.Mutation mutations = 2;
       */
      public Builder clearMutations() {
        if (mutationsBuilder_ == null) {
          mutations_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          mutationsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .rpc.Mutation mutations = 2;
       */
      public Builder removeMutations(int index) {
        if (mutationsBuilder_ == null) {
          ensureMutationsIsMutable();
          mutations_.remove(index);
          onChanged();
        } else {
          mutationsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .rpc.Mutation mutations = 2;
       */
      public com.scalar.db.rpc.Mutation.Builder getMutationsBuilder(
          int index) {
        return getMutationsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .rpc.Mutation mutations = 2;
       */
      public com.scalar.db.rpc.MutationOrBuilder getMutationsOrBuilder(
          int index) {
        if (mutationsBuilder_ == null) {
          return mutations_.get(index);  } else {
          return mutationsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .rpc.Mutation mutations = 2;
       */
      public java.util.List 
           getMutationsOrBuilderList() {
        if (mutationsBuilder_ != null) {
          return mutationsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(mutations_);
        }
      }
      /**
       * repeated .rpc.Mutation mutations = 2;
       */
      public com.scalar.db.rpc.Mutation.Builder addMutationsBuilder() {
        return getMutationsFieldBuilder().addBuilder(
            com.scalar.db.rpc.Mutation.getDefaultInstance());
      }
      /**
       * repeated .rpc.Mutation mutations = 2;
       */
      public com.scalar.db.rpc.Mutation.Builder addMutationsBuilder(
          int index) {
        return getMutationsFieldBuilder().addBuilder(
            index, com.scalar.db.rpc.Mutation.getDefaultInstance());
      }
      /**
       * repeated .rpc.Mutation mutations = 2;
       */
      public java.util.List 
           getMutationsBuilderList() {
        return getMutationsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          com.scalar.db.rpc.Mutation, com.scalar.db.rpc.Mutation.Builder, com.scalar.db.rpc.MutationOrBuilder> 
          getMutationsFieldBuilder() {
        if (mutationsBuilder_ == null) {
          mutationsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              com.scalar.db.rpc.Mutation, com.scalar.db.rpc.Mutation.Builder, com.scalar.db.rpc.MutationOrBuilder>(
                  mutations_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          mutations_ = null;
        }
        return mutationsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:rpc.TwoPhaseCommitTransactionRequest.MutateRequest)
    }

    // @@protoc_insertion_point(class_scope:rpc.TwoPhaseCommitTransactionRequest.MutateRequest)
    private static final com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest();
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public MutateRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PrepareRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:rpc.TwoPhaseCommitTransactionRequest.PrepareRequest)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.PrepareRequest}
   */
  public static final class PrepareRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:rpc.TwoPhaseCommitTransactionRequest.PrepareRequest)
      PrepareRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PrepareRequest.newBuilder() to construct.
    private PrepareRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private PrepareRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PrepareRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_PrepareRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_PrepareRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest.Builder.class);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest)) {
        return super.equals(obj);
      }
      com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest other = (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest) obj;

      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.PrepareRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:rpc.TwoPhaseCommitTransactionRequest.PrepareRequest)
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_PrepareRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_PrepareRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest.Builder.class);
      }

      // Construct using com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_PrepareRequest_descriptor;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest getDefaultInstanceForType() {
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest build() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest buildPartial() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest result = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest) {
          return mergeFrom((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest other) {
        if (other == com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:rpc.TwoPhaseCommitTransactionRequest.PrepareRequest)
    }

    // @@protoc_insertion_point(class_scope:rpc.TwoPhaseCommitTransactionRequest.PrepareRequest)
    private static final com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest();
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public PrepareRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ValidateRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:rpc.TwoPhaseCommitTransactionRequest.ValidateRequest)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.ValidateRequest}
   */
  public static final class ValidateRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:rpc.TwoPhaseCommitTransactionRequest.ValidateRequest)
      ValidateRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ValidateRequest.newBuilder() to construct.
    private ValidateRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private ValidateRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ValidateRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_ValidateRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_ValidateRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest.Builder.class);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest)) {
        return super.equals(obj);
      }
      com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest other = (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest) obj;

      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.ValidateRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:rpc.TwoPhaseCommitTransactionRequest.ValidateRequest)
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_ValidateRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_ValidateRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest.Builder.class);
      }

      // Construct using com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_ValidateRequest_descriptor;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest getDefaultInstanceForType() {
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest build() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest buildPartial() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest result = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest) {
          return mergeFrom((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest other) {
        if (other == com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:rpc.TwoPhaseCommitTransactionRequest.ValidateRequest)
    }

    // @@protoc_insertion_point(class_scope:rpc.TwoPhaseCommitTransactionRequest.ValidateRequest)
    private static final com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest();
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public ValidateRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CommitRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:rpc.TwoPhaseCommitTransactionRequest.CommitRequest)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.CommitRequest}
   */
  public static final class CommitRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:rpc.TwoPhaseCommitTransactionRequest.CommitRequest)
      CommitRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CommitRequest.newBuilder() to construct.
    private CommitRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private CommitRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new CommitRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_CommitRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_CommitRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest.Builder.class);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest)) {
        return super.equals(obj);
      }
      com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest other = (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest) obj;

      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.CommitRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:rpc.TwoPhaseCommitTransactionRequest.CommitRequest)
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_CommitRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_CommitRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest.Builder.class);
      }

      // Construct using com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_CommitRequest_descriptor;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest getDefaultInstanceForType() {
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest build() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest buildPartial() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest result = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest) {
          return mergeFrom((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest other) {
        if (other == com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:rpc.TwoPhaseCommitTransactionRequest.CommitRequest)
    }

    // @@protoc_insertion_point(class_scope:rpc.TwoPhaseCommitTransactionRequest.CommitRequest)
    private static final com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest();
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CommitRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RollbackRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:rpc.TwoPhaseCommitTransactionRequest.RollbackRequest)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.RollbackRequest}
   */
  public static final class RollbackRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:rpc.TwoPhaseCommitTransactionRequest.RollbackRequest)
      RollbackRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use RollbackRequest.newBuilder() to construct.
    private RollbackRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private RollbackRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new RollbackRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_RollbackRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_RollbackRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest.Builder.class);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest)) {
        return super.equals(obj);
      }
      com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest other = (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest) obj;

      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.RollbackRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:rpc.TwoPhaseCommitTransactionRequest.RollbackRequest)
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_RollbackRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_RollbackRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest.Builder.class);
      }

      // Construct using com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_RollbackRequest_descriptor;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest getDefaultInstanceForType() {
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest build() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest buildPartial() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest result = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest) {
          return mergeFrom((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest other) {
        if (other == com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:rpc.TwoPhaseCommitTransactionRequest.RollbackRequest)
    }

    // @@protoc_insertion_point(class_scope:rpc.TwoPhaseCommitTransactionRequest.RollbackRequest)
    private static final com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest();
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public RollbackRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AbortRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:rpc.TwoPhaseCommitTransactionRequest.AbortRequest)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.AbortRequest}
   */
  public static final class AbortRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:rpc.TwoPhaseCommitTransactionRequest.AbortRequest)
      AbortRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use AbortRequest.newBuilder() to construct.
    private AbortRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private AbortRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new AbortRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_AbortRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_AbortRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest.Builder.class);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest)) {
        return super.equals(obj);
      }
      com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest other = (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest) obj;

      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest.AbortRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:rpc.TwoPhaseCommitTransactionRequest.AbortRequest)
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_AbortRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_AbortRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest.Builder.class);
      }

      // Construct using com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_AbortRequest_descriptor;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest getDefaultInstanceForType() {
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest build() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest buildPartial() {
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest result = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest) {
          return mergeFrom((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest other) {
        if (other == com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:rpc.TwoPhaseCommitTransactionRequest.AbortRequest)
    }

    // @@protoc_insertion_point(class_scope:rpc.TwoPhaseCommitTransactionRequest.AbortRequest)
    private static final com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest();
    }

    public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public AbortRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private int requestCase_ = 0;
  private java.lang.Object request_;
  public enum RequestCase
      implements com.google.protobuf.Internal.EnumLite,
          com.google.protobuf.AbstractMessage.InternalOneOfEnum {
    START_REQUEST(1),
    JOIN_REQUEST(2),
    GET_REQUEST(3),
    SCAN_REQUEST(4),
    MUTATE_REQUEST(5),
    PREPARE_REQUEST(6),
    VALIDATE_REQUEST(7),
    COMMIT_REQUEST(8),
    ROLLBACK_REQUEST(9),
    BEGIN_REQUEST(10),
    ABORT_REQUEST(11),
    REQUEST_NOT_SET(0);
    private final int value;
    private RequestCase(int value) {
      this.value = value;
    }
    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static RequestCase valueOf(int value) {
      return forNumber(value);
    }

    public static RequestCase forNumber(int value) {
      switch (value) {
        case 1: return START_REQUEST;
        case 2: return JOIN_REQUEST;
        case 3: return GET_REQUEST;
        case 4: return SCAN_REQUEST;
        case 5: return MUTATE_REQUEST;
        case 6: return PREPARE_REQUEST;
        case 7: return VALIDATE_REQUEST;
        case 8: return COMMIT_REQUEST;
        case 9: return ROLLBACK_REQUEST;
        case 10: return BEGIN_REQUEST;
        case 11: return ABORT_REQUEST;
        case 0: return REQUEST_NOT_SET;
        default: return null;
      }
    }
    public int getNumber() {
      return this.value;
    }
  };

  public RequestCase
  getRequestCase() {
    return RequestCase.forNumber(
        requestCase_);
  }

  public static final int START_REQUEST_FIELD_NUMBER = 1;
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.StartRequest start_request = 1;
   * @return Whether the startRequest field is set.
   */
  @java.lang.Override
  public boolean hasStartRequest() {
    return requestCase_ == 1;
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.StartRequest start_request = 1;
   * @return The startRequest.
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest getStartRequest() {
    if (requestCase_ == 1) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest.getDefaultInstance();
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.StartRequest start_request = 1;
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequestOrBuilder getStartRequestOrBuilder() {
    if (requestCase_ == 1) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest.getDefaultInstance();
  }

  public static final int JOIN_REQUEST_FIELD_NUMBER = 2;
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.JoinRequest join_request = 2;
   * @return Whether the joinRequest field is set.
   */
  @java.lang.Override
  public boolean hasJoinRequest() {
    return requestCase_ == 2;
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.JoinRequest join_request = 2;
   * @return The joinRequest.
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest getJoinRequest() {
    if (requestCase_ == 2) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest.getDefaultInstance();
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.JoinRequest join_request = 2;
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequestOrBuilder getJoinRequestOrBuilder() {
    if (requestCase_ == 2) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest.getDefaultInstance();
  }

  public static final int GET_REQUEST_FIELD_NUMBER = 3;
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.GetRequest get_request = 3;
   * @return Whether the getRequest field is set.
   */
  @java.lang.Override
  public boolean hasGetRequest() {
    return requestCase_ == 3;
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.GetRequest get_request = 3;
   * @return The getRequest.
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest getGetRequest() {
    if (requestCase_ == 3) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest.getDefaultInstance();
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.GetRequest get_request = 3;
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequestOrBuilder getGetRequestOrBuilder() {
    if (requestCase_ == 3) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest.getDefaultInstance();
  }

  public static final int SCAN_REQUEST_FIELD_NUMBER = 4;
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.ScanRequest scan_request = 4;
   * @return Whether the scanRequest field is set.
   */
  @java.lang.Override
  public boolean hasScanRequest() {
    return requestCase_ == 4;
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.ScanRequest scan_request = 4;
   * @return The scanRequest.
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest getScanRequest() {
    if (requestCase_ == 4) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest.getDefaultInstance();
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.ScanRequest scan_request = 4;
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequestOrBuilder getScanRequestOrBuilder() {
    if (requestCase_ == 4) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest.getDefaultInstance();
  }

  public static final int MUTATE_REQUEST_FIELD_NUMBER = 5;
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.MutateRequest mutate_request = 5;
   * @return Whether the mutateRequest field is set.
   */
  @java.lang.Override
  public boolean hasMutateRequest() {
    return requestCase_ == 5;
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.MutateRequest mutate_request = 5;
   * @return The mutateRequest.
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest getMutateRequest() {
    if (requestCase_ == 5) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest.getDefaultInstance();
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.MutateRequest mutate_request = 5;
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequestOrBuilder getMutateRequestOrBuilder() {
    if (requestCase_ == 5) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest.getDefaultInstance();
  }

  public static final int PREPARE_REQUEST_FIELD_NUMBER = 6;
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.PrepareRequest prepare_request = 6;
   * @return Whether the prepareRequest field is set.
   */
  @java.lang.Override
  public boolean hasPrepareRequest() {
    return requestCase_ == 6;
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.PrepareRequest prepare_request = 6;
   * @return The prepareRequest.
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest getPrepareRequest() {
    if (requestCase_ == 6) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest.getDefaultInstance();
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.PrepareRequest prepare_request = 6;
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequestOrBuilder getPrepareRequestOrBuilder() {
    if (requestCase_ == 6) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest.getDefaultInstance();
  }

  public static final int VALIDATE_REQUEST_FIELD_NUMBER = 7;
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.ValidateRequest validate_request = 7;
   * @return Whether the validateRequest field is set.
   */
  @java.lang.Override
  public boolean hasValidateRequest() {
    return requestCase_ == 7;
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.ValidateRequest validate_request = 7;
   * @return The validateRequest.
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest getValidateRequest() {
    if (requestCase_ == 7) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest.getDefaultInstance();
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.ValidateRequest validate_request = 7;
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequestOrBuilder getValidateRequestOrBuilder() {
    if (requestCase_ == 7) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest.getDefaultInstance();
  }

  public static final int COMMIT_REQUEST_FIELD_NUMBER = 8;
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.CommitRequest commit_request = 8;
   * @return Whether the commitRequest field is set.
   */
  @java.lang.Override
  public boolean hasCommitRequest() {
    return requestCase_ == 8;
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.CommitRequest commit_request = 8;
   * @return The commitRequest.
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest getCommitRequest() {
    if (requestCase_ == 8) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest.getDefaultInstance();
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.CommitRequest commit_request = 8;
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequestOrBuilder getCommitRequestOrBuilder() {
    if (requestCase_ == 8) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest.getDefaultInstance();
  }

  public static final int ROLLBACK_REQUEST_FIELD_NUMBER = 9;
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.RollbackRequest rollback_request = 9;
   * @return Whether the rollbackRequest field is set.
   */
  @java.lang.Override
  public boolean hasRollbackRequest() {
    return requestCase_ == 9;
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.RollbackRequest rollback_request = 9;
   * @return The rollbackRequest.
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest getRollbackRequest() {
    if (requestCase_ == 9) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest.getDefaultInstance();
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.RollbackRequest rollback_request = 9;
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequestOrBuilder getRollbackRequestOrBuilder() {
    if (requestCase_ == 9) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest.getDefaultInstance();
  }

  public static final int BEGIN_REQUEST_FIELD_NUMBER = 10;
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.BeginRequest begin_request = 10;
   * @return Whether the beginRequest field is set.
   */
  @java.lang.Override
  public boolean hasBeginRequest() {
    return requestCase_ == 10;
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.BeginRequest begin_request = 10;
   * @return The beginRequest.
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest getBeginRequest() {
    if (requestCase_ == 10) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest.getDefaultInstance();
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.BeginRequest begin_request = 10;
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequestOrBuilder getBeginRequestOrBuilder() {
    if (requestCase_ == 10) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest.getDefaultInstance();
  }

  public static final int ABORT_REQUEST_FIELD_NUMBER = 11;
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.AbortRequest abort_request = 11;
   * @return Whether the abortRequest field is set.
   */
  @java.lang.Override
  public boolean hasAbortRequest() {
    return requestCase_ == 11;
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.AbortRequest abort_request = 11;
   * @return The abortRequest.
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest getAbortRequest() {
    if (requestCase_ == 11) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest.getDefaultInstance();
  }
  /**
   * .rpc.TwoPhaseCommitTransactionRequest.AbortRequest abort_request = 11;
   */
  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequestOrBuilder getAbortRequestOrBuilder() {
    if (requestCase_ == 11) {
       return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest) request_;
    }
    return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest.getDefaultInstance();
  }

  private byte memoizedIsInitialized = -1;
  @java.lang.Override
  public final boolean isInitialized() {
    byte isInitialized = memoizedIsInitialized;
    if (isInitialized == 1) return true;
    if (isInitialized == 0) return false;

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output)
                      throws java.io.IOException {
    if (requestCase_ == 1) {
      output.writeMessage(1, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest) request_);
    }
    if (requestCase_ == 2) {
      output.writeMessage(2, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest) request_);
    }
    if (requestCase_ == 3) {
      output.writeMessage(3, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest) request_);
    }
    if (requestCase_ == 4) {
      output.writeMessage(4, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest) request_);
    }
    if (requestCase_ == 5) {
      output.writeMessage(5, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest) request_);
    }
    if (requestCase_ == 6) {
      output.writeMessage(6, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest) request_);
    }
    if (requestCase_ == 7) {
      output.writeMessage(7, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest) request_);
    }
    if (requestCase_ == 8) {
      output.writeMessage(8, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest) request_);
    }
    if (requestCase_ == 9) {
      output.writeMessage(9, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest) request_);
    }
    if (requestCase_ == 10) {
      output.writeMessage(10, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest) request_);
    }
    if (requestCase_ == 11) {
      output.writeMessage(11, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest) request_);
    }
    getUnknownFields().writeTo(output);
  }

  @java.lang.Override
  public int getSerializedSize() {
    int size = memoizedSize;
    if (size != -1) return size;

    size = 0;
    if (requestCase_ == 1) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(1, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest) request_);
    }
    if (requestCase_ == 2) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(2, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest) request_);
    }
    if (requestCase_ == 3) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(3, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest) request_);
    }
    if (requestCase_ == 4) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(4, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest) request_);
    }
    if (requestCase_ == 5) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(5, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest) request_);
    }
    if (requestCase_ == 6) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(6, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest) request_);
    }
    if (requestCase_ == 7) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(7, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest) request_);
    }
    if (requestCase_ == 8) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(8, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest) request_);
    }
    if (requestCase_ == 9) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(9, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest) request_);
    }
    if (requestCase_ == 10) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(10, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest) request_);
    }
    if (requestCase_ == 11) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(11, (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest) request_);
    }
    size += getUnknownFields().getSerializedSize();
    memoizedSize = size;
    return size;
  }

  @java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
     return true;
    }
    if (!(obj instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest)) {
      return super.equals(obj);
    }
    com.scalar.db.rpc.TwoPhaseCommitTransactionRequest other = (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest) obj;

    if (!getRequestCase().equals(other.getRequestCase())) return false;
    switch (requestCase_) {
      case 1:
        if (!getStartRequest()
            .equals(other.getStartRequest())) return false;
        break;
      case 2:
        if (!getJoinRequest()
            .equals(other.getJoinRequest())) return false;
        break;
      case 3:
        if (!getGetRequest()
            .equals(other.getGetRequest())) return false;
        break;
      case 4:
        if (!getScanRequest()
            .equals(other.getScanRequest())) return false;
        break;
      case 5:
        if (!getMutateRequest()
            .equals(other.getMutateRequest())) return false;
        break;
      case 6:
        if (!getPrepareRequest()
            .equals(other.getPrepareRequest())) return false;
        break;
      case 7:
        if (!getValidateRequest()
            .equals(other.getValidateRequest())) return false;
        break;
      case 8:
        if (!getCommitRequest()
            .equals(other.getCommitRequest())) return false;
        break;
      case 9:
        if (!getRollbackRequest()
            .equals(other.getRollbackRequest())) return false;
        break;
      case 10:
        if (!getBeginRequest()
            .equals(other.getBeginRequest())) return false;
        break;
      case 11:
        if (!getAbortRequest()
            .equals(other.getAbortRequest())) return false;
        break;
      case 0:
      default:
    }
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    switch (requestCase_) {
      case 1:
        hash = (37 * hash) + START_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getStartRequest().hashCode();
        break;
      case 2:
        hash = (37 * hash) + JOIN_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getJoinRequest().hashCode();
        break;
      case 3:
        hash = (37 * hash) + GET_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getGetRequest().hashCode();
        break;
      case 4:
        hash = (37 * hash) + SCAN_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getScanRequest().hashCode();
        break;
      case 5:
        hash = (37 * hash) + MUTATE_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getMutateRequest().hashCode();
        break;
      case 6:
        hash = (37 * hash) + PREPARE_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getPrepareRequest().hashCode();
        break;
      case 7:
        hash = (37 * hash) + VALIDATE_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getValidateRequest().hashCode();
        break;
      case 8:
        hash = (37 * hash) + COMMIT_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getCommitRequest().hashCode();
        break;
      case 9:
        hash = (37 * hash) + ROLLBACK_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getRollbackRequest().hashCode();
        break;
      case 10:
        hash = (37 * hash) + BEGIN_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getBeginRequest().hashCode();
        break;
      case 11:
        hash = (37 * hash) + ABORT_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getAbortRequest().hashCode();
        break;
      case 0:
      default:
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest parseFrom(
      java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest parseFrom(
      java.nio.ByteBuffer data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest parseFrom(
      byte[] data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest parseFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input, extensionRegistry);
  }
  public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input);
  }
  public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest parseDelimitedFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
  }
  public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest parseFrom(
      com.google.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest parseFrom(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input, extensionRegistry);
  }

  @java.lang.Override
  public Builder newBuilderForType() { return newBuilder(); }
  public static Builder newBuilder() {
    return DEFAULT_INSTANCE.toBuilder();
  }
  public static Builder newBuilder(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest prototype) {
    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
  }
  @java.lang.Override
  public Builder toBuilder() {
    return this == DEFAULT_INSTANCE
        ? new Builder() : new Builder().mergeFrom(this);
  }

  @java.lang.Override
  protected Builder newBuilderForType(
      com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   * Protobuf type {@code rpc.TwoPhaseCommitTransactionRequest}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessageV3.Builder implements
      // @@protoc_insertion_point(builder_implements:rpc.TwoPhaseCommitTransactionRequest)
      com.scalar.db.rpc.TwoPhaseCommitTransactionRequestOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.class, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.Builder.class);
    }

    // Construct using com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.newBuilder()
    private Builder() {

    }

    private Builder(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      super(parent);

    }
    @java.lang.Override
    public Builder clear() {
      super.clear();
      bitField0_ = 0;
      if (startRequestBuilder_ != null) {
        startRequestBuilder_.clear();
      }
      if (joinRequestBuilder_ != null) {
        joinRequestBuilder_.clear();
      }
      if (getRequestBuilder_ != null) {
        getRequestBuilder_.clear();
      }
      if (scanRequestBuilder_ != null) {
        scanRequestBuilder_.clear();
      }
      if (mutateRequestBuilder_ != null) {
        mutateRequestBuilder_.clear();
      }
      if (prepareRequestBuilder_ != null) {
        prepareRequestBuilder_.clear();
      }
      if (validateRequestBuilder_ != null) {
        validateRequestBuilder_.clear();
      }
      if (commitRequestBuilder_ != null) {
        commitRequestBuilder_.clear();
      }
      if (rollbackRequestBuilder_ != null) {
        rollbackRequestBuilder_.clear();
      }
      if (beginRequestBuilder_ != null) {
        beginRequestBuilder_.clear();
      }
      if (abortRequestBuilder_ != null) {
        abortRequestBuilder_.clear();
      }
      requestCase_ = 0;
      request_ = null;
      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor
        getDescriptorForType() {
      return com.scalar.db.rpc.ScalarDbProto.internal_static_rpc_TwoPhaseCommitTransactionRequest_descriptor;
    }

    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest getDefaultInstanceForType() {
      return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.getDefaultInstance();
    }

    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest build() {
      com.scalar.db.rpc.TwoPhaseCommitTransactionRequest result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest buildPartial() {
      com.scalar.db.rpc.TwoPhaseCommitTransactionRequest result = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest(this);
      if (bitField0_ != 0) { buildPartial0(result); }
      buildPartialOneofs(result);
      onBuilt();
      return result;
    }

    private void buildPartial0(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest result) {
      int from_bitField0_ = bitField0_;
    }

    private void buildPartialOneofs(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest result) {
      result.requestCase_ = requestCase_;
      result.request_ = this.request_;
      if (requestCase_ == 1 &&
          startRequestBuilder_ != null) {
        result.request_ = startRequestBuilder_.build();
      }
      if (requestCase_ == 2 &&
          joinRequestBuilder_ != null) {
        result.request_ = joinRequestBuilder_.build();
      }
      if (requestCase_ == 3 &&
          getRequestBuilder_ != null) {
        result.request_ = getRequestBuilder_.build();
      }
      if (requestCase_ == 4 &&
          scanRequestBuilder_ != null) {
        result.request_ = scanRequestBuilder_.build();
      }
      if (requestCase_ == 5 &&
          mutateRequestBuilder_ != null) {
        result.request_ = mutateRequestBuilder_.build();
      }
      if (requestCase_ == 6 &&
          prepareRequestBuilder_ != null) {
        result.request_ = prepareRequestBuilder_.build();
      }
      if (requestCase_ == 7 &&
          validateRequestBuilder_ != null) {
        result.request_ = validateRequestBuilder_.build();
      }
      if (requestCase_ == 8 &&
          commitRequestBuilder_ != null) {
        result.request_ = commitRequestBuilder_.build();
      }
      if (requestCase_ == 9 &&
          rollbackRequestBuilder_ != null) {
        result.request_ = rollbackRequestBuilder_.build();
      }
      if (requestCase_ == 10 &&
          beginRequestBuilder_ != null) {
        result.request_ = beginRequestBuilder_.build();
      }
      if (requestCase_ == 11 &&
          abortRequestBuilder_ != null) {
        result.request_ = abortRequestBuilder_.build();
      }
    }

    @java.lang.Override
    public Builder clone() {
      return super.clone();
    }
    @java.lang.Override
    public Builder setField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        java.lang.Object value) {
      return super.setField(field, value);
    }
    @java.lang.Override
    public Builder clearField(
        com.google.protobuf.Descriptors.FieldDescriptor field) {
      return super.clearField(field);
    }
    @java.lang.Override
    public Builder clearOneof(
        com.google.protobuf.Descriptors.OneofDescriptor oneof) {
      return super.clearOneof(oneof);
    }
    @java.lang.Override
    public Builder setRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        int index, java.lang.Object value) {
      return super.setRepeatedField(field, index, value);
    }
    @java.lang.Override
    public Builder addRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        java.lang.Object value) {
      return super.addRepeatedField(field, value);
    }
    @java.lang.Override
    public Builder mergeFrom(com.google.protobuf.Message other) {
      if (other instanceof com.scalar.db.rpc.TwoPhaseCommitTransactionRequest) {
        return mergeFrom((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest)other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest other) {
      if (other == com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.getDefaultInstance()) return this;
      switch (other.getRequestCase()) {
        case START_REQUEST: {
          mergeStartRequest(other.getStartRequest());
          break;
        }
        case JOIN_REQUEST: {
          mergeJoinRequest(other.getJoinRequest());
          break;
        }
        case GET_REQUEST: {
          mergeGetRequest(other.getGetRequest());
          break;
        }
        case SCAN_REQUEST: {
          mergeScanRequest(other.getScanRequest());
          break;
        }
        case MUTATE_REQUEST: {
          mergeMutateRequest(other.getMutateRequest());
          break;
        }
        case PREPARE_REQUEST: {
          mergePrepareRequest(other.getPrepareRequest());
          break;
        }
        case VALIDATE_REQUEST: {
          mergeValidateRequest(other.getValidateRequest());
          break;
        }
        case COMMIT_REQUEST: {
          mergeCommitRequest(other.getCommitRequest());
          break;
        }
        case ROLLBACK_REQUEST: {
          mergeRollbackRequest(other.getRollbackRequest());
          break;
        }
        case BEGIN_REQUEST: {
          mergeBeginRequest(other.getBeginRequest());
          break;
        }
        case ABORT_REQUEST: {
          mergeAbortRequest(other.getAbortRequest());
          break;
        }
        case REQUEST_NOT_SET: {
          break;
        }
      }
      this.mergeUnknownFields(other.getUnknownFields());
      onChanged();
      return this;
    }

    @java.lang.Override
    public final boolean isInitialized() {
      return true;
    }

    @java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              input.readMessage(
                  getStartRequestFieldBuilder().getBuilder(),
                  extensionRegistry);
              requestCase_ = 1;
              break;
            } // case 10
            case 18: {
              input.readMessage(
                  getJoinRequestFieldBuilder().getBuilder(),
                  extensionRegistry);
              requestCase_ = 2;
              break;
            } // case 18
            case 26: {
              input.readMessage(
                  getGetRequestFieldBuilder().getBuilder(),
                  extensionRegistry);
              requestCase_ = 3;
              break;
            } // case 26
            case 34: {
              input.readMessage(
                  getScanRequestFieldBuilder().getBuilder(),
                  extensionRegistry);
              requestCase_ = 4;
              break;
            } // case 34
            case 42: {
              input.readMessage(
                  getMutateRequestFieldBuilder().getBuilder(),
                  extensionRegistry);
              requestCase_ = 5;
              break;
            } // case 42
            case 50: {
              input.readMessage(
                  getPrepareRequestFieldBuilder().getBuilder(),
                  extensionRegistry);
              requestCase_ = 6;
              break;
            } // case 50
            case 58: {
              input.readMessage(
                  getValidateRequestFieldBuilder().getBuilder(),
                  extensionRegistry);
              requestCase_ = 7;
              break;
            } // case 58
            case 66: {
              input.readMessage(
                  getCommitRequestFieldBuilder().getBuilder(),
                  extensionRegistry);
              requestCase_ = 8;
              break;
            } // case 66
            case 74: {
              input.readMessage(
                  getRollbackRequestFieldBuilder().getBuilder(),
                  extensionRegistry);
              requestCase_ = 9;
              break;
            } // case 74
            case 82: {
              input.readMessage(
                  getBeginRequestFieldBuilder().getBuilder(),
                  extensionRegistry);
              requestCase_ = 10;
              break;
            } // case 82
            case 90: {
              input.readMessage(
                  getAbortRequestFieldBuilder().getBuilder(),
                  extensionRegistry);
              requestCase_ = 11;
              break;
            } // case 90
            default: {
              if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                done = true; // was an endgroup tag
              }
              break;
            } // default:
          } // switch (tag)
        } // while (!done)
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.unwrapIOException();
      } finally {
        onChanged();
      } // finally
      return this;
    }
    private int requestCase_ = 0;
    private java.lang.Object request_;
    public RequestCase
        getRequestCase() {
      return RequestCase.forNumber(
          requestCase_);
    }

    public Builder clearRequest() {
      requestCase_ = 0;
      request_ = null;
      onChanged();
      return this;
    }

    private int bitField0_;

    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequestOrBuilder> startRequestBuilder_;
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.StartRequest start_request = 1;
     * @return Whether the startRequest field is set.
     */
    @java.lang.Override
    public boolean hasStartRequest() {
      return requestCase_ == 1;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.StartRequest start_request = 1;
     * @return The startRequest.
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest getStartRequest() {
      if (startRequestBuilder_ == null) {
        if (requestCase_ == 1) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest.getDefaultInstance();
      } else {
        if (requestCase_ == 1) {
          return startRequestBuilder_.getMessage();
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.StartRequest start_request = 1;
     */
    public Builder setStartRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest value) {
      if (startRequestBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        request_ = value;
        onChanged();
      } else {
        startRequestBuilder_.setMessage(value);
      }
      requestCase_ = 1;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.StartRequest start_request = 1;
     */
    public Builder setStartRequest(
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest.Builder builderForValue) {
      if (startRequestBuilder_ == null) {
        request_ = builderForValue.build();
        onChanged();
      } else {
        startRequestBuilder_.setMessage(builderForValue.build());
      }
      requestCase_ = 1;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.StartRequest start_request = 1;
     */
    public Builder mergeStartRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest value) {
      if (startRequestBuilder_ == null) {
        if (requestCase_ == 1 &&
            request_ != com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest.getDefaultInstance()) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest.newBuilder((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest) request_)
              .mergeFrom(value).buildPartial();
        } else {
          request_ = value;
        }
        onChanged();
      } else {
        if (requestCase_ == 1) {
          startRequestBuilder_.mergeFrom(value);
        } else {
          startRequestBuilder_.setMessage(value);
        }
      }
      requestCase_ = 1;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.StartRequest start_request = 1;
     */
    public Builder clearStartRequest() {
      if (startRequestBuilder_ == null) {
        if (requestCase_ == 1) {
          requestCase_ = 0;
          request_ = null;
          onChanged();
        }
      } else {
        if (requestCase_ == 1) {
          requestCase_ = 0;
          request_ = null;
        }
        startRequestBuilder_.clear();
      }
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.StartRequest start_request = 1;
     */
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest.Builder getStartRequestBuilder() {
      return getStartRequestFieldBuilder().getBuilder();
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.StartRequest start_request = 1;
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequestOrBuilder getStartRequestOrBuilder() {
      if ((requestCase_ == 1) && (startRequestBuilder_ != null)) {
        return startRequestBuilder_.getMessageOrBuilder();
      } else {
        if (requestCase_ == 1) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.StartRequest start_request = 1;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequestOrBuilder> 
        getStartRequestFieldBuilder() {
      if (startRequestBuilder_ == null) {
        if (!(requestCase_ == 1)) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest.getDefaultInstance();
        }
        startRequestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequestOrBuilder>(
                (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.StartRequest) request_,
                getParentForChildren(),
                isClean());
        request_ = null;
      }
      requestCase_ = 1;
      onChanged();
      return startRequestBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequestOrBuilder> joinRequestBuilder_;
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.JoinRequest join_request = 2;
     * @return Whether the joinRequest field is set.
     */
    @java.lang.Override
    public boolean hasJoinRequest() {
      return requestCase_ == 2;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.JoinRequest join_request = 2;
     * @return The joinRequest.
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest getJoinRequest() {
      if (joinRequestBuilder_ == null) {
        if (requestCase_ == 2) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest.getDefaultInstance();
      } else {
        if (requestCase_ == 2) {
          return joinRequestBuilder_.getMessage();
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.JoinRequest join_request = 2;
     */
    public Builder setJoinRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest value) {
      if (joinRequestBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        request_ = value;
        onChanged();
      } else {
        joinRequestBuilder_.setMessage(value);
      }
      requestCase_ = 2;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.JoinRequest join_request = 2;
     */
    public Builder setJoinRequest(
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest.Builder builderForValue) {
      if (joinRequestBuilder_ == null) {
        request_ = builderForValue.build();
        onChanged();
      } else {
        joinRequestBuilder_.setMessage(builderForValue.build());
      }
      requestCase_ = 2;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.JoinRequest join_request = 2;
     */
    public Builder mergeJoinRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest value) {
      if (joinRequestBuilder_ == null) {
        if (requestCase_ == 2 &&
            request_ != com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest.getDefaultInstance()) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest.newBuilder((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest) request_)
              .mergeFrom(value).buildPartial();
        } else {
          request_ = value;
        }
        onChanged();
      } else {
        if (requestCase_ == 2) {
          joinRequestBuilder_.mergeFrom(value);
        } else {
          joinRequestBuilder_.setMessage(value);
        }
      }
      requestCase_ = 2;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.JoinRequest join_request = 2;
     */
    public Builder clearJoinRequest() {
      if (joinRequestBuilder_ == null) {
        if (requestCase_ == 2) {
          requestCase_ = 0;
          request_ = null;
          onChanged();
        }
      } else {
        if (requestCase_ == 2) {
          requestCase_ = 0;
          request_ = null;
        }
        joinRequestBuilder_.clear();
      }
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.JoinRequest join_request = 2;
     */
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest.Builder getJoinRequestBuilder() {
      return getJoinRequestFieldBuilder().getBuilder();
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.JoinRequest join_request = 2;
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequestOrBuilder getJoinRequestOrBuilder() {
      if ((requestCase_ == 2) && (joinRequestBuilder_ != null)) {
        return joinRequestBuilder_.getMessageOrBuilder();
      } else {
        if (requestCase_ == 2) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.JoinRequest join_request = 2;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequestOrBuilder> 
        getJoinRequestFieldBuilder() {
      if (joinRequestBuilder_ == null) {
        if (!(requestCase_ == 2)) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest.getDefaultInstance();
        }
        joinRequestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequestOrBuilder>(
                (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.JoinRequest) request_,
                getParentForChildren(),
                isClean());
        request_ = null;
      }
      requestCase_ = 2;
      onChanged();
      return joinRequestBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequestOrBuilder> getRequestBuilder_;
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.GetRequest get_request = 3;
     * @return Whether the getRequest field is set.
     */
    @java.lang.Override
    public boolean hasGetRequest() {
      return requestCase_ == 3;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.GetRequest get_request = 3;
     * @return The getRequest.
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest getGetRequest() {
      if (getRequestBuilder_ == null) {
        if (requestCase_ == 3) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest.getDefaultInstance();
      } else {
        if (requestCase_ == 3) {
          return getRequestBuilder_.getMessage();
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.GetRequest get_request = 3;
     */
    public Builder setGetRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest value) {
      if (getRequestBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        request_ = value;
        onChanged();
      } else {
        getRequestBuilder_.setMessage(value);
      }
      requestCase_ = 3;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.GetRequest get_request = 3;
     */
    public Builder setGetRequest(
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest.Builder builderForValue) {
      if (getRequestBuilder_ == null) {
        request_ = builderForValue.build();
        onChanged();
      } else {
        getRequestBuilder_.setMessage(builderForValue.build());
      }
      requestCase_ = 3;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.GetRequest get_request = 3;
     */
    public Builder mergeGetRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest value) {
      if (getRequestBuilder_ == null) {
        if (requestCase_ == 3 &&
            request_ != com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest.getDefaultInstance()) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest.newBuilder((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest) request_)
              .mergeFrom(value).buildPartial();
        } else {
          request_ = value;
        }
        onChanged();
      } else {
        if (requestCase_ == 3) {
          getRequestBuilder_.mergeFrom(value);
        } else {
          getRequestBuilder_.setMessage(value);
        }
      }
      requestCase_ = 3;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.GetRequest get_request = 3;
     */
    public Builder clearGetRequest() {
      if (getRequestBuilder_ == null) {
        if (requestCase_ == 3) {
          requestCase_ = 0;
          request_ = null;
          onChanged();
        }
      } else {
        if (requestCase_ == 3) {
          requestCase_ = 0;
          request_ = null;
        }
        getRequestBuilder_.clear();
      }
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.GetRequest get_request = 3;
     */
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest.Builder getGetRequestBuilder() {
      return getGetRequestFieldBuilder().getBuilder();
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.GetRequest get_request = 3;
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequestOrBuilder getGetRequestOrBuilder() {
      if ((requestCase_ == 3) && (getRequestBuilder_ != null)) {
        return getRequestBuilder_.getMessageOrBuilder();
      } else {
        if (requestCase_ == 3) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.GetRequest get_request = 3;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequestOrBuilder> 
        getGetRequestFieldBuilder() {
      if (getRequestBuilder_ == null) {
        if (!(requestCase_ == 3)) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest.getDefaultInstance();
        }
        getRequestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequestOrBuilder>(
                (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.GetRequest) request_,
                getParentForChildren(),
                isClean());
        request_ = null;
      }
      requestCase_ = 3;
      onChanged();
      return getRequestBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequestOrBuilder> scanRequestBuilder_;
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.ScanRequest scan_request = 4;
     * @return Whether the scanRequest field is set.
     */
    @java.lang.Override
    public boolean hasScanRequest() {
      return requestCase_ == 4;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.ScanRequest scan_request = 4;
     * @return The scanRequest.
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest getScanRequest() {
      if (scanRequestBuilder_ == null) {
        if (requestCase_ == 4) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest.getDefaultInstance();
      } else {
        if (requestCase_ == 4) {
          return scanRequestBuilder_.getMessage();
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.ScanRequest scan_request = 4;
     */
    public Builder setScanRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest value) {
      if (scanRequestBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        request_ = value;
        onChanged();
      } else {
        scanRequestBuilder_.setMessage(value);
      }
      requestCase_ = 4;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.ScanRequest scan_request = 4;
     */
    public Builder setScanRequest(
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest.Builder builderForValue) {
      if (scanRequestBuilder_ == null) {
        request_ = builderForValue.build();
        onChanged();
      } else {
        scanRequestBuilder_.setMessage(builderForValue.build());
      }
      requestCase_ = 4;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.ScanRequest scan_request = 4;
     */
    public Builder mergeScanRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest value) {
      if (scanRequestBuilder_ == null) {
        if (requestCase_ == 4 &&
            request_ != com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest.getDefaultInstance()) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest.newBuilder((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest) request_)
              .mergeFrom(value).buildPartial();
        } else {
          request_ = value;
        }
        onChanged();
      } else {
        if (requestCase_ == 4) {
          scanRequestBuilder_.mergeFrom(value);
        } else {
          scanRequestBuilder_.setMessage(value);
        }
      }
      requestCase_ = 4;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.ScanRequest scan_request = 4;
     */
    public Builder clearScanRequest() {
      if (scanRequestBuilder_ == null) {
        if (requestCase_ == 4) {
          requestCase_ = 0;
          request_ = null;
          onChanged();
        }
      } else {
        if (requestCase_ == 4) {
          requestCase_ = 0;
          request_ = null;
        }
        scanRequestBuilder_.clear();
      }
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.ScanRequest scan_request = 4;
     */
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest.Builder getScanRequestBuilder() {
      return getScanRequestFieldBuilder().getBuilder();
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.ScanRequest scan_request = 4;
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequestOrBuilder getScanRequestOrBuilder() {
      if ((requestCase_ == 4) && (scanRequestBuilder_ != null)) {
        return scanRequestBuilder_.getMessageOrBuilder();
      } else {
        if (requestCase_ == 4) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.ScanRequest scan_request = 4;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequestOrBuilder> 
        getScanRequestFieldBuilder() {
      if (scanRequestBuilder_ == null) {
        if (!(requestCase_ == 4)) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest.getDefaultInstance();
        }
        scanRequestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequestOrBuilder>(
                (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ScanRequest) request_,
                getParentForChildren(),
                isClean());
        request_ = null;
      }
      requestCase_ = 4;
      onChanged();
      return scanRequestBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequestOrBuilder> mutateRequestBuilder_;
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.MutateRequest mutate_request = 5;
     * @return Whether the mutateRequest field is set.
     */
    @java.lang.Override
    public boolean hasMutateRequest() {
      return requestCase_ == 5;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.MutateRequest mutate_request = 5;
     * @return The mutateRequest.
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest getMutateRequest() {
      if (mutateRequestBuilder_ == null) {
        if (requestCase_ == 5) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest.getDefaultInstance();
      } else {
        if (requestCase_ == 5) {
          return mutateRequestBuilder_.getMessage();
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.MutateRequest mutate_request = 5;
     */
    public Builder setMutateRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest value) {
      if (mutateRequestBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        request_ = value;
        onChanged();
      } else {
        mutateRequestBuilder_.setMessage(value);
      }
      requestCase_ = 5;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.MutateRequest mutate_request = 5;
     */
    public Builder setMutateRequest(
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest.Builder builderForValue) {
      if (mutateRequestBuilder_ == null) {
        request_ = builderForValue.build();
        onChanged();
      } else {
        mutateRequestBuilder_.setMessage(builderForValue.build());
      }
      requestCase_ = 5;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.MutateRequest mutate_request = 5;
     */
    public Builder mergeMutateRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest value) {
      if (mutateRequestBuilder_ == null) {
        if (requestCase_ == 5 &&
            request_ != com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest.getDefaultInstance()) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest.newBuilder((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest) request_)
              .mergeFrom(value).buildPartial();
        } else {
          request_ = value;
        }
        onChanged();
      } else {
        if (requestCase_ == 5) {
          mutateRequestBuilder_.mergeFrom(value);
        } else {
          mutateRequestBuilder_.setMessage(value);
        }
      }
      requestCase_ = 5;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.MutateRequest mutate_request = 5;
     */
    public Builder clearMutateRequest() {
      if (mutateRequestBuilder_ == null) {
        if (requestCase_ == 5) {
          requestCase_ = 0;
          request_ = null;
          onChanged();
        }
      } else {
        if (requestCase_ == 5) {
          requestCase_ = 0;
          request_ = null;
        }
        mutateRequestBuilder_.clear();
      }
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.MutateRequest mutate_request = 5;
     */
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest.Builder getMutateRequestBuilder() {
      return getMutateRequestFieldBuilder().getBuilder();
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.MutateRequest mutate_request = 5;
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequestOrBuilder getMutateRequestOrBuilder() {
      if ((requestCase_ == 5) && (mutateRequestBuilder_ != null)) {
        return mutateRequestBuilder_.getMessageOrBuilder();
      } else {
        if (requestCase_ == 5) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.MutateRequest mutate_request = 5;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequestOrBuilder> 
        getMutateRequestFieldBuilder() {
      if (mutateRequestBuilder_ == null) {
        if (!(requestCase_ == 5)) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest.getDefaultInstance();
        }
        mutateRequestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequestOrBuilder>(
                (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.MutateRequest) request_,
                getParentForChildren(),
                isClean());
        request_ = null;
      }
      requestCase_ = 5;
      onChanged();
      return mutateRequestBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequestOrBuilder> prepareRequestBuilder_;
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.PrepareRequest prepare_request = 6;
     * @return Whether the prepareRequest field is set.
     */
    @java.lang.Override
    public boolean hasPrepareRequest() {
      return requestCase_ == 6;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.PrepareRequest prepare_request = 6;
     * @return The prepareRequest.
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest getPrepareRequest() {
      if (prepareRequestBuilder_ == null) {
        if (requestCase_ == 6) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest.getDefaultInstance();
      } else {
        if (requestCase_ == 6) {
          return prepareRequestBuilder_.getMessage();
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.PrepareRequest prepare_request = 6;
     */
    public Builder setPrepareRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest value) {
      if (prepareRequestBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        request_ = value;
        onChanged();
      } else {
        prepareRequestBuilder_.setMessage(value);
      }
      requestCase_ = 6;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.PrepareRequest prepare_request = 6;
     */
    public Builder setPrepareRequest(
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest.Builder builderForValue) {
      if (prepareRequestBuilder_ == null) {
        request_ = builderForValue.build();
        onChanged();
      } else {
        prepareRequestBuilder_.setMessage(builderForValue.build());
      }
      requestCase_ = 6;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.PrepareRequest prepare_request = 6;
     */
    public Builder mergePrepareRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest value) {
      if (prepareRequestBuilder_ == null) {
        if (requestCase_ == 6 &&
            request_ != com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest.getDefaultInstance()) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest.newBuilder((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest) request_)
              .mergeFrom(value).buildPartial();
        } else {
          request_ = value;
        }
        onChanged();
      } else {
        if (requestCase_ == 6) {
          prepareRequestBuilder_.mergeFrom(value);
        } else {
          prepareRequestBuilder_.setMessage(value);
        }
      }
      requestCase_ = 6;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.PrepareRequest prepare_request = 6;
     */
    public Builder clearPrepareRequest() {
      if (prepareRequestBuilder_ == null) {
        if (requestCase_ == 6) {
          requestCase_ = 0;
          request_ = null;
          onChanged();
        }
      } else {
        if (requestCase_ == 6) {
          requestCase_ = 0;
          request_ = null;
        }
        prepareRequestBuilder_.clear();
      }
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.PrepareRequest prepare_request = 6;
     */
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest.Builder getPrepareRequestBuilder() {
      return getPrepareRequestFieldBuilder().getBuilder();
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.PrepareRequest prepare_request = 6;
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequestOrBuilder getPrepareRequestOrBuilder() {
      if ((requestCase_ == 6) && (prepareRequestBuilder_ != null)) {
        return prepareRequestBuilder_.getMessageOrBuilder();
      } else {
        if (requestCase_ == 6) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.PrepareRequest prepare_request = 6;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequestOrBuilder> 
        getPrepareRequestFieldBuilder() {
      if (prepareRequestBuilder_ == null) {
        if (!(requestCase_ == 6)) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest.getDefaultInstance();
        }
        prepareRequestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequestOrBuilder>(
                (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.PrepareRequest) request_,
                getParentForChildren(),
                isClean());
        request_ = null;
      }
      requestCase_ = 6;
      onChanged();
      return prepareRequestBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequestOrBuilder> validateRequestBuilder_;
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.ValidateRequest validate_request = 7;
     * @return Whether the validateRequest field is set.
     */
    @java.lang.Override
    public boolean hasValidateRequest() {
      return requestCase_ == 7;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.ValidateRequest validate_request = 7;
     * @return The validateRequest.
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest getValidateRequest() {
      if (validateRequestBuilder_ == null) {
        if (requestCase_ == 7) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest.getDefaultInstance();
      } else {
        if (requestCase_ == 7) {
          return validateRequestBuilder_.getMessage();
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.ValidateRequest validate_request = 7;
     */
    public Builder setValidateRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest value) {
      if (validateRequestBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        request_ = value;
        onChanged();
      } else {
        validateRequestBuilder_.setMessage(value);
      }
      requestCase_ = 7;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.ValidateRequest validate_request = 7;
     */
    public Builder setValidateRequest(
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest.Builder builderForValue) {
      if (validateRequestBuilder_ == null) {
        request_ = builderForValue.build();
        onChanged();
      } else {
        validateRequestBuilder_.setMessage(builderForValue.build());
      }
      requestCase_ = 7;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.ValidateRequest validate_request = 7;
     */
    public Builder mergeValidateRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest value) {
      if (validateRequestBuilder_ == null) {
        if (requestCase_ == 7 &&
            request_ != com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest.getDefaultInstance()) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest.newBuilder((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest) request_)
              .mergeFrom(value).buildPartial();
        } else {
          request_ = value;
        }
        onChanged();
      } else {
        if (requestCase_ == 7) {
          validateRequestBuilder_.mergeFrom(value);
        } else {
          validateRequestBuilder_.setMessage(value);
        }
      }
      requestCase_ = 7;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.ValidateRequest validate_request = 7;
     */
    public Builder clearValidateRequest() {
      if (validateRequestBuilder_ == null) {
        if (requestCase_ == 7) {
          requestCase_ = 0;
          request_ = null;
          onChanged();
        }
      } else {
        if (requestCase_ == 7) {
          requestCase_ = 0;
          request_ = null;
        }
        validateRequestBuilder_.clear();
      }
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.ValidateRequest validate_request = 7;
     */
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest.Builder getValidateRequestBuilder() {
      return getValidateRequestFieldBuilder().getBuilder();
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.ValidateRequest validate_request = 7;
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequestOrBuilder getValidateRequestOrBuilder() {
      if ((requestCase_ == 7) && (validateRequestBuilder_ != null)) {
        return validateRequestBuilder_.getMessageOrBuilder();
      } else {
        if (requestCase_ == 7) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.ValidateRequest validate_request = 7;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequestOrBuilder> 
        getValidateRequestFieldBuilder() {
      if (validateRequestBuilder_ == null) {
        if (!(requestCase_ == 7)) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest.getDefaultInstance();
        }
        validateRequestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequestOrBuilder>(
                (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.ValidateRequest) request_,
                getParentForChildren(),
                isClean());
        request_ = null;
      }
      requestCase_ = 7;
      onChanged();
      return validateRequestBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequestOrBuilder> commitRequestBuilder_;
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.CommitRequest commit_request = 8;
     * @return Whether the commitRequest field is set.
     */
    @java.lang.Override
    public boolean hasCommitRequest() {
      return requestCase_ == 8;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.CommitRequest commit_request = 8;
     * @return The commitRequest.
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest getCommitRequest() {
      if (commitRequestBuilder_ == null) {
        if (requestCase_ == 8) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest.getDefaultInstance();
      } else {
        if (requestCase_ == 8) {
          return commitRequestBuilder_.getMessage();
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.CommitRequest commit_request = 8;
     */
    public Builder setCommitRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest value) {
      if (commitRequestBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        request_ = value;
        onChanged();
      } else {
        commitRequestBuilder_.setMessage(value);
      }
      requestCase_ = 8;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.CommitRequest commit_request = 8;
     */
    public Builder setCommitRequest(
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest.Builder builderForValue) {
      if (commitRequestBuilder_ == null) {
        request_ = builderForValue.build();
        onChanged();
      } else {
        commitRequestBuilder_.setMessage(builderForValue.build());
      }
      requestCase_ = 8;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.CommitRequest commit_request = 8;
     */
    public Builder mergeCommitRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest value) {
      if (commitRequestBuilder_ == null) {
        if (requestCase_ == 8 &&
            request_ != com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest.getDefaultInstance()) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest.newBuilder((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest) request_)
              .mergeFrom(value).buildPartial();
        } else {
          request_ = value;
        }
        onChanged();
      } else {
        if (requestCase_ == 8) {
          commitRequestBuilder_.mergeFrom(value);
        } else {
          commitRequestBuilder_.setMessage(value);
        }
      }
      requestCase_ = 8;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.CommitRequest commit_request = 8;
     */
    public Builder clearCommitRequest() {
      if (commitRequestBuilder_ == null) {
        if (requestCase_ == 8) {
          requestCase_ = 0;
          request_ = null;
          onChanged();
        }
      } else {
        if (requestCase_ == 8) {
          requestCase_ = 0;
          request_ = null;
        }
        commitRequestBuilder_.clear();
      }
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.CommitRequest commit_request = 8;
     */
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest.Builder getCommitRequestBuilder() {
      return getCommitRequestFieldBuilder().getBuilder();
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.CommitRequest commit_request = 8;
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequestOrBuilder getCommitRequestOrBuilder() {
      if ((requestCase_ == 8) && (commitRequestBuilder_ != null)) {
        return commitRequestBuilder_.getMessageOrBuilder();
      } else {
        if (requestCase_ == 8) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.CommitRequest commit_request = 8;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequestOrBuilder> 
        getCommitRequestFieldBuilder() {
      if (commitRequestBuilder_ == null) {
        if (!(requestCase_ == 8)) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest.getDefaultInstance();
        }
        commitRequestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequestOrBuilder>(
                (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.CommitRequest) request_,
                getParentForChildren(),
                isClean());
        request_ = null;
      }
      requestCase_ = 8;
      onChanged();
      return commitRequestBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequestOrBuilder> rollbackRequestBuilder_;
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.RollbackRequest rollback_request = 9;
     * @return Whether the rollbackRequest field is set.
     */
    @java.lang.Override
    public boolean hasRollbackRequest() {
      return requestCase_ == 9;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.RollbackRequest rollback_request = 9;
     * @return The rollbackRequest.
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest getRollbackRequest() {
      if (rollbackRequestBuilder_ == null) {
        if (requestCase_ == 9) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest.getDefaultInstance();
      } else {
        if (requestCase_ == 9) {
          return rollbackRequestBuilder_.getMessage();
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.RollbackRequest rollback_request = 9;
     */
    public Builder setRollbackRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest value) {
      if (rollbackRequestBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        request_ = value;
        onChanged();
      } else {
        rollbackRequestBuilder_.setMessage(value);
      }
      requestCase_ = 9;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.RollbackRequest rollback_request = 9;
     */
    public Builder setRollbackRequest(
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest.Builder builderForValue) {
      if (rollbackRequestBuilder_ == null) {
        request_ = builderForValue.build();
        onChanged();
      } else {
        rollbackRequestBuilder_.setMessage(builderForValue.build());
      }
      requestCase_ = 9;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.RollbackRequest rollback_request = 9;
     */
    public Builder mergeRollbackRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest value) {
      if (rollbackRequestBuilder_ == null) {
        if (requestCase_ == 9 &&
            request_ != com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest.getDefaultInstance()) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest.newBuilder((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest) request_)
              .mergeFrom(value).buildPartial();
        } else {
          request_ = value;
        }
        onChanged();
      } else {
        if (requestCase_ == 9) {
          rollbackRequestBuilder_.mergeFrom(value);
        } else {
          rollbackRequestBuilder_.setMessage(value);
        }
      }
      requestCase_ = 9;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.RollbackRequest rollback_request = 9;
     */
    public Builder clearRollbackRequest() {
      if (rollbackRequestBuilder_ == null) {
        if (requestCase_ == 9) {
          requestCase_ = 0;
          request_ = null;
          onChanged();
        }
      } else {
        if (requestCase_ == 9) {
          requestCase_ = 0;
          request_ = null;
        }
        rollbackRequestBuilder_.clear();
      }
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.RollbackRequest rollback_request = 9;
     */
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest.Builder getRollbackRequestBuilder() {
      return getRollbackRequestFieldBuilder().getBuilder();
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.RollbackRequest rollback_request = 9;
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequestOrBuilder getRollbackRequestOrBuilder() {
      if ((requestCase_ == 9) && (rollbackRequestBuilder_ != null)) {
        return rollbackRequestBuilder_.getMessageOrBuilder();
      } else {
        if (requestCase_ == 9) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.RollbackRequest rollback_request = 9;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequestOrBuilder> 
        getRollbackRequestFieldBuilder() {
      if (rollbackRequestBuilder_ == null) {
        if (!(requestCase_ == 9)) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest.getDefaultInstance();
        }
        rollbackRequestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequestOrBuilder>(
                (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.RollbackRequest) request_,
                getParentForChildren(),
                isClean());
        request_ = null;
      }
      requestCase_ = 9;
      onChanged();
      return rollbackRequestBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequestOrBuilder> beginRequestBuilder_;
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.BeginRequest begin_request = 10;
     * @return Whether the beginRequest field is set.
     */
    @java.lang.Override
    public boolean hasBeginRequest() {
      return requestCase_ == 10;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.BeginRequest begin_request = 10;
     * @return The beginRequest.
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest getBeginRequest() {
      if (beginRequestBuilder_ == null) {
        if (requestCase_ == 10) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest.getDefaultInstance();
      } else {
        if (requestCase_ == 10) {
          return beginRequestBuilder_.getMessage();
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.BeginRequest begin_request = 10;
     */
    public Builder setBeginRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest value) {
      if (beginRequestBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        request_ = value;
        onChanged();
      } else {
        beginRequestBuilder_.setMessage(value);
      }
      requestCase_ = 10;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.BeginRequest begin_request = 10;
     */
    public Builder setBeginRequest(
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest.Builder builderForValue) {
      if (beginRequestBuilder_ == null) {
        request_ = builderForValue.build();
        onChanged();
      } else {
        beginRequestBuilder_.setMessage(builderForValue.build());
      }
      requestCase_ = 10;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.BeginRequest begin_request = 10;
     */
    public Builder mergeBeginRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest value) {
      if (beginRequestBuilder_ == null) {
        if (requestCase_ == 10 &&
            request_ != com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest.getDefaultInstance()) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest.newBuilder((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest) request_)
              .mergeFrom(value).buildPartial();
        } else {
          request_ = value;
        }
        onChanged();
      } else {
        if (requestCase_ == 10) {
          beginRequestBuilder_.mergeFrom(value);
        } else {
          beginRequestBuilder_.setMessage(value);
        }
      }
      requestCase_ = 10;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.BeginRequest begin_request = 10;
     */
    public Builder clearBeginRequest() {
      if (beginRequestBuilder_ == null) {
        if (requestCase_ == 10) {
          requestCase_ = 0;
          request_ = null;
          onChanged();
        }
      } else {
        if (requestCase_ == 10) {
          requestCase_ = 0;
          request_ = null;
        }
        beginRequestBuilder_.clear();
      }
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.BeginRequest begin_request = 10;
     */
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest.Builder getBeginRequestBuilder() {
      return getBeginRequestFieldBuilder().getBuilder();
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.BeginRequest begin_request = 10;
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequestOrBuilder getBeginRequestOrBuilder() {
      if ((requestCase_ == 10) && (beginRequestBuilder_ != null)) {
        return beginRequestBuilder_.getMessageOrBuilder();
      } else {
        if (requestCase_ == 10) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.BeginRequest begin_request = 10;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequestOrBuilder> 
        getBeginRequestFieldBuilder() {
      if (beginRequestBuilder_ == null) {
        if (!(requestCase_ == 10)) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest.getDefaultInstance();
        }
        beginRequestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequestOrBuilder>(
                (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.BeginRequest) request_,
                getParentForChildren(),
                isClean());
        request_ = null;
      }
      requestCase_ = 10;
      onChanged();
      return beginRequestBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequestOrBuilder> abortRequestBuilder_;
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.AbortRequest abort_request = 11;
     * @return Whether the abortRequest field is set.
     */
    @java.lang.Override
    public boolean hasAbortRequest() {
      return requestCase_ == 11;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.AbortRequest abort_request = 11;
     * @return The abortRequest.
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest getAbortRequest() {
      if (abortRequestBuilder_ == null) {
        if (requestCase_ == 11) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest.getDefaultInstance();
      } else {
        if (requestCase_ == 11) {
          return abortRequestBuilder_.getMessage();
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.AbortRequest abort_request = 11;
     */
    public Builder setAbortRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest value) {
      if (abortRequestBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        request_ = value;
        onChanged();
      } else {
        abortRequestBuilder_.setMessage(value);
      }
      requestCase_ = 11;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.AbortRequest abort_request = 11;
     */
    public Builder setAbortRequest(
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest.Builder builderForValue) {
      if (abortRequestBuilder_ == null) {
        request_ = builderForValue.build();
        onChanged();
      } else {
        abortRequestBuilder_.setMessage(builderForValue.build());
      }
      requestCase_ = 11;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.AbortRequest abort_request = 11;
     */
    public Builder mergeAbortRequest(com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest value) {
      if (abortRequestBuilder_ == null) {
        if (requestCase_ == 11 &&
            request_ != com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest.getDefaultInstance()) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest.newBuilder((com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest) request_)
              .mergeFrom(value).buildPartial();
        } else {
          request_ = value;
        }
        onChanged();
      } else {
        if (requestCase_ == 11) {
          abortRequestBuilder_.mergeFrom(value);
        } else {
          abortRequestBuilder_.setMessage(value);
        }
      }
      requestCase_ = 11;
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.AbortRequest abort_request = 11;
     */
    public Builder clearAbortRequest() {
      if (abortRequestBuilder_ == null) {
        if (requestCase_ == 11) {
          requestCase_ = 0;
          request_ = null;
          onChanged();
        }
      } else {
        if (requestCase_ == 11) {
          requestCase_ = 0;
          request_ = null;
        }
        abortRequestBuilder_.clear();
      }
      return this;
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.AbortRequest abort_request = 11;
     */
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest.Builder getAbortRequestBuilder() {
      return getAbortRequestFieldBuilder().getBuilder();
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.AbortRequest abort_request = 11;
     */
    @java.lang.Override
    public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequestOrBuilder getAbortRequestOrBuilder() {
      if ((requestCase_ == 11) && (abortRequestBuilder_ != null)) {
        return abortRequestBuilder_.getMessageOrBuilder();
      } else {
        if (requestCase_ == 11) {
          return (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest) request_;
        }
        return com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest.getDefaultInstance();
      }
    }
    /**
     * .rpc.TwoPhaseCommitTransactionRequest.AbortRequest abort_request = 11;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequestOrBuilder> 
        getAbortRequestFieldBuilder() {
      if (abortRequestBuilder_ == null) {
        if (!(requestCase_ == 11)) {
          request_ = com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest.getDefaultInstance();
        }
        abortRequestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest.Builder, com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequestOrBuilder>(
                (com.scalar.db.rpc.TwoPhaseCommitTransactionRequest.AbortRequest) request_,
                getParentForChildren(),
                isClean());
        request_ = null;
      }
      requestCase_ = 11;
      onChanged();
      return abortRequestBuilder_;
    }
    @java.lang.Override
    public final Builder setUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.setUnknownFields(unknownFields);
    }

    @java.lang.Override
    public final Builder mergeUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.mergeUnknownFields(unknownFields);
    }


    // @@protoc_insertion_point(builder_scope:rpc.TwoPhaseCommitTransactionRequest)
  }

  // @@protoc_insertion_point(class_scope:rpc.TwoPhaseCommitTransactionRequest)
  private static final com.scalar.db.rpc.TwoPhaseCommitTransactionRequest DEFAULT_INSTANCE;
  static {
    DEFAULT_INSTANCE = new com.scalar.db.rpc.TwoPhaseCommitTransactionRequest();
  }

  public static com.scalar.db.rpc.TwoPhaseCommitTransactionRequest getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  private static final com.google.protobuf.Parser
      PARSER = new com.google.protobuf.AbstractParser() {
    @java.lang.Override
    public TwoPhaseCommitTransactionRequest parsePartialFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      Builder builder = newBuilder();
      try {
        builder.mergeFrom(input, extensionRegistry);
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(builder.buildPartial());
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(e)
            .setUnfinishedMessage(builder.buildPartial());
      }
      return builder.buildPartial();
    }
  };

  public static com.google.protobuf.Parser parser() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.protobuf.Parser getParserForType() {
    return PARSER;
  }

  @java.lang.Override
  public com.scalar.db.rpc.TwoPhaseCommitTransactionRequest getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy