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

com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence Maven / Gradle / Ivy

There is a newer version: 0.1152.0
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: PaxosAcceptorPersistence.proto

// Protobuf Java Version: 3.25.3
package com.palantir.paxos.persistence.generated.remoting;

public final class PaxosAcceptorPersistence {
  private PaxosAcceptorPersistence() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  /**
   * Protobuf enum {@code com.palantir.paxos.persistence.generated.remoting.AcceptorMethodProto}
   */
  public enum AcceptorMethodProto
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * PREPARE = 1;
     */
    PREPARE(1),
    /**
     * ACCEPT = 2;
     */
    ACCEPT(2),
    /**
     * GET_LATEST_SEQUENCE_PREPARED_OR_ACCEPTED = 3;
     */
    GET_LATEST_SEQUENCE_PREPARED_OR_ACCEPTED(3),
    ;

    /**
     * PREPARE = 1;
     */
    public static final int PREPARE_VALUE = 1;
    /**
     * ACCEPT = 2;
     */
    public static final int ACCEPT_VALUE = 2;
    /**
     * GET_LATEST_SEQUENCE_PREPARED_OR_ACCEPTED = 3;
     */
    public static final int GET_LATEST_SEQUENCE_PREPARED_OR_ACCEPTED_VALUE = 3;


    public final int getNumber() {
      return value;
    }

    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @return The enum associated with the given numeric wire value.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static AcceptorMethodProto valueOf(int value) {
      return forNumber(value);
    }

    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @return The enum associated with the given numeric wire value.
     */
    public static AcceptorMethodProto forNumber(int value) {
      switch (value) {
        case 1: return PREPARE;
        case 2: return ACCEPT;
        case 3: return GET_LATEST_SEQUENCE_PREPARED_OR_ACCEPTED;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        AcceptorMethodProto> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public AcceptorMethodProto findValueByNumber(int number) {
              return AcceptorMethodProto.forNumber(number);
            }
          };

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(ordinal());
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.getDescriptor().getEnumTypes().get(0);
    }

    private static final AcceptorMethodProto[] VALUES = values();

    public static AcceptorMethodProto valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      return VALUES[desc.getIndex()];
    }

    private final int value;

    private AcceptorMethodProto(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:com.palantir.paxos.persistence.generated.remoting.AcceptorMethodProto)
  }

  public interface AcceptorRequestProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.palantir.paxos.persistence.generated.remoting.AcceptorRequestProto)
      com.google.protobuf.MessageOrBuilder {

    /**
     * required .com.palantir.paxos.persistence.generated.remoting.AcceptorMethodProto method = 1;
     * @return Whether the method field is set.
     */
    boolean hasMethod();
    /**
     * required .com.palantir.paxos.persistence.generated.remoting.AcceptorMethodProto method = 1;
     * @return The method.
     */
    com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorMethodProto getMethod();

    /**
     * repeated bytes arguments = 2;
     * @return A list containing the arguments.
     */
    java.util.List getArgumentsList();
    /**
     * repeated bytes arguments = 2;
     * @return The count of arguments.
     */
    int getArgumentsCount();
    /**
     * repeated bytes arguments = 2;
     * @param index The index of the element to return.
     * @return The arguments at the given index.
     */
    com.google.protobuf.ByteString getArguments(int index);
  }
  /**
   * Protobuf type {@code com.palantir.paxos.persistence.generated.remoting.AcceptorRequestProto}
   */
  public static final class AcceptorRequestProto extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.palantir.paxos.persistence.generated.remoting.AcceptorRequestProto)
      AcceptorRequestProtoOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use AcceptorRequestProto.newBuilder() to construct.
    private AcceptorRequestProto(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private AcceptorRequestProto() {
      method_ = 1;
      arguments_ = emptyList(com.google.protobuf.ByteString.class);
    }

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

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_AcceptorRequestProto_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_AcceptorRequestProto_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto.class, com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto.Builder.class);
    }

    private int bitField0_;
    public static final int METHOD_FIELD_NUMBER = 1;
    private int method_ = 1;
    /**
     * required .com.palantir.paxos.persistence.generated.remoting.AcceptorMethodProto method = 1;
     * @return Whether the method field is set.
     */
    @java.lang.Override public boolean hasMethod() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * required .com.palantir.paxos.persistence.generated.remoting.AcceptorMethodProto method = 1;
     * @return The method.
     */
    @java.lang.Override public com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorMethodProto getMethod() {
      com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorMethodProto result = com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorMethodProto.forNumber(method_);
      return result == null ? com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorMethodProto.PREPARE : result;
    }

    public static final int ARGUMENTS_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private com.google.protobuf.Internal.ProtobufList arguments_ =
        emptyList(com.google.protobuf.ByteString.class);
    /**
     * repeated bytes arguments = 2;
     * @return A list containing the arguments.
     */
    @java.lang.Override
    public java.util.List
        getArgumentsList() {
      return arguments_;
    }
    /**
     * repeated bytes arguments = 2;
     * @return The count of arguments.
     */
    public int getArgumentsCount() {
      return arguments_.size();
    }
    /**
     * repeated bytes arguments = 2;
     * @param index The index of the element to return.
     * @return The arguments at the given index.
     */
    public com.google.protobuf.ByteString getArguments(int index) {
      return arguments_.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;

      if (!hasMethod()) {
        memoizedIsInitialized = 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)) {
        output.writeEnum(1, method_);
      }
      for (int i = 0; i < arguments_.size(); i++) {
        output.writeBytes(2, arguments_.get(i));
      }
      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.CodedOutputStream
          .computeEnumSize(1, method_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < arguments_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(arguments_.get(i));
        }
        size += dataSize;
        size += 1 * getArgumentsList().size();
      }
      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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto)) {
        return super.equals(obj);
      }
      com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto other = (com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto) obj;

      if (hasMethod() != other.hasMethod()) return false;
      if (hasMethod()) {
        if (method_ != other.method_) return false;
      }
      if (!getArgumentsList()
          .equals(other.getArgumentsList())) 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 (hasMethod()) {
        hash = (37 * hash) + METHOD_FIELD_NUMBER;
        hash = (53 * hash) + method_;
      }
      if (getArgumentsCount() > 0) {
        hash = (37 * hash) + ARGUMENTS_FIELD_NUMBER;
        hash = (53 * hash) + getArgumentsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto 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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto 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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto 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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto 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 com.palantir.paxos.persistence.generated.remoting.AcceptorRequestProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:com.palantir.paxos.persistence.generated.remoting.AcceptorRequestProto)
        com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProtoOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_AcceptorRequestProto_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_AcceptorRequestProto_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto.class, com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto.Builder.class);
      }

      // Construct using com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto.newBuilder()
      private Builder() {

      }

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

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        method_ = 1;
        arguments_ = emptyList(com.google.protobuf.ByteString.class);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_AcceptorRequestProto_descriptor;
      }

      @java.lang.Override
      public com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto getDefaultInstanceForType() {
        return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto.getDefaultInstance();
      }

      @java.lang.Override
      public com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto build() {
        com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto buildPartial() {
        com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto result = new com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.method_ = method_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          arguments_.makeImmutable();
          result.arguments_ = arguments_;
        }
        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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto) {
          return mergeFrom((com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto other) {
        if (other == com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto.getDefaultInstance()) return this;
        if (other.hasMethod()) {
          setMethod(other.getMethod());
        }
        if (!other.arguments_.isEmpty()) {
          if (arguments_.isEmpty()) {
            arguments_ = other.arguments_;
            arguments_.makeImmutable();
            bitField0_ |= 0x00000002;
          } else {
            ensureArgumentsIsMutable();
            arguments_.addAll(other.arguments_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                int tmpRaw = input.readEnum();
                com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorMethodProto tmpValue =
                    com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorMethodProto.forNumber(tmpRaw);
                if (tmpValue == null) {
                  mergeUnknownVarintField(1, tmpRaw);
                } else {
                  method_ = tmpRaw;
                  bitField0_ |= 0x00000001;
                }
                break;
              } // case 8
              case 18: {
                com.google.protobuf.ByteString v = input.readBytes();
                ensureArgumentsIsMutable();
                arguments_.add(v);
                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 int method_ = 1;
      /**
       * required .com.palantir.paxos.persistence.generated.remoting.AcceptorMethodProto method = 1;
       * @return Whether the method field is set.
       */
      @java.lang.Override public boolean hasMethod() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required .com.palantir.paxos.persistence.generated.remoting.AcceptorMethodProto method = 1;
       * @return The method.
       */
      @java.lang.Override
      public com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorMethodProto getMethod() {
        com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorMethodProto result = com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorMethodProto.forNumber(method_);
        return result == null ? com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorMethodProto.PREPARE : result;
      }
      /**
       * required .com.palantir.paxos.persistence.generated.remoting.AcceptorMethodProto method = 1;
       * @param value The method to set.
       * @return This builder for chaining.
       */
      public Builder setMethod(com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorMethodProto value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        method_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * required .com.palantir.paxos.persistence.generated.remoting.AcceptorMethodProto method = 1;
       * @return This builder for chaining.
       */
      public Builder clearMethod() {
        bitField0_ = (bitField0_ & ~0x00000001);
        method_ = 1;
        onChanged();
        return this;
      }

      private com.google.protobuf.Internal.ProtobufList arguments_ = emptyList(com.google.protobuf.ByteString.class);
      private void ensureArgumentsIsMutable() {
        if (!arguments_.isModifiable()) {
          arguments_ = makeMutableCopy(arguments_);
        }
        bitField0_ |= 0x00000002;
      }
      /**
       * repeated bytes arguments = 2;
       * @return A list containing the arguments.
       */
      public java.util.List
          getArgumentsList() {
        arguments_.makeImmutable();
        return arguments_;
      }
      /**
       * repeated bytes arguments = 2;
       * @return The count of arguments.
       */
      public int getArgumentsCount() {
        return arguments_.size();
      }
      /**
       * repeated bytes arguments = 2;
       * @param index The index of the element to return.
       * @return The arguments at the given index.
       */
      public com.google.protobuf.ByteString getArguments(int index) {
        return arguments_.get(index);
      }
      /**
       * repeated bytes arguments = 2;
       * @param index The index to set the value at.
       * @param value The arguments to set.
       * @return This builder for chaining.
       */
      public Builder setArguments(
          int index, com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureArgumentsIsMutable();
        arguments_.set(index, value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * repeated bytes arguments = 2;
       * @param value The arguments to add.
       * @return This builder for chaining.
       */
      public Builder addArguments(com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureArgumentsIsMutable();
        arguments_.add(value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * repeated bytes arguments = 2;
       * @param values The arguments to add.
       * @return This builder for chaining.
       */
      public Builder addAllArguments(
          java.lang.Iterable values) {
        ensureArgumentsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, arguments_);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * repeated bytes arguments = 2;
       * @return This builder for chaining.
       */
      public Builder clearArguments() {
        arguments_ = emptyList(com.google.protobuf.ByteString.class);
        bitField0_ = (bitField0_ & ~0x00000002);
        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:com.palantir.paxos.persistence.generated.remoting.AcceptorRequestProto)
    }

    // @@protoc_insertion_point(class_scope:com.palantir.paxos.persistence.generated.remoting.AcceptorRequestProto)
    private static final com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto();
    }

    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public AcceptorRequestProto 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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorRequestProto getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AcceptorResponseProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.palantir.paxos.persistence.generated.remoting.AcceptorResponseProto)
      com.google.protobuf.MessageOrBuilder {

    /**
     * repeated bytes response = 1;
     * @return A list containing the response.
     */
    java.util.List getResponseList();
    /**
     * repeated bytes response = 1;
     * @return The count of response.
     */
    int getResponseCount();
    /**
     * repeated bytes response = 1;
     * @param index The index of the element to return.
     * @return The response at the given index.
     */
    com.google.protobuf.ByteString getResponse(int index);

    /**
     * optional .com.palantir.paxos.persistence.generated.ExceptionProto exception = 2;
     * @return Whether the exception field is set.
     */
    boolean hasException();
    /**
     * optional .com.palantir.paxos.persistence.generated.ExceptionProto exception = 2;
     * @return The exception.
     */
    com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProto getException();
    /**
     * optional .com.palantir.paxos.persistence.generated.ExceptionProto exception = 2;
     */
    com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProtoOrBuilder getExceptionOrBuilder();
  }
  /**
   * Protobuf type {@code com.palantir.paxos.persistence.generated.remoting.AcceptorResponseProto}
   */
  public static final class AcceptorResponseProto extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.palantir.paxos.persistence.generated.remoting.AcceptorResponseProto)
      AcceptorResponseProtoOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use AcceptorResponseProto.newBuilder() to construct.
    private AcceptorResponseProto(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private AcceptorResponseProto() {
      response_ = emptyList(com.google.protobuf.ByteString.class);
    }

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

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_AcceptorResponseProto_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_AcceptorResponseProto_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto.class, com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto.Builder.class);
    }

    private int bitField0_;
    public static final int RESPONSE_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private com.google.protobuf.Internal.ProtobufList response_ =
        emptyList(com.google.protobuf.ByteString.class);
    /**
     * repeated bytes response = 1;
     * @return A list containing the response.
     */
    @java.lang.Override
    public java.util.List
        getResponseList() {
      return response_;
    }
    /**
     * repeated bytes response = 1;
     * @return The count of response.
     */
    public int getResponseCount() {
      return response_.size();
    }
    /**
     * repeated bytes response = 1;
     * @param index The index of the element to return.
     * @return The response at the given index.
     */
    public com.google.protobuf.ByteString getResponse(int index) {
      return response_.get(index);
    }

    public static final int EXCEPTION_FIELD_NUMBER = 2;
    private com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProto exception_;
    /**
     * optional .com.palantir.paxos.persistence.generated.ExceptionProto exception = 2;
     * @return Whether the exception field is set.
     */
    @java.lang.Override
    public boolean hasException() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional .com.palantir.paxos.persistence.generated.ExceptionProto exception = 2;
     * @return The exception.
     */
    @java.lang.Override
    public com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProto getException() {
      return exception_ == null ? com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProto.getDefaultInstance() : exception_;
    }
    /**
     * optional .com.palantir.paxos.persistence.generated.ExceptionProto exception = 2;
     */
    @java.lang.Override
    public com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProtoOrBuilder getExceptionOrBuilder() {
      return exception_ == null ? com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProto.getDefaultInstance() : exception_;
    }

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

      if (hasException()) {
        if (!getException().isInitialized()) {
          memoizedIsInitialized = 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 < response_.size(); i++) {
        output.writeBytes(1, response_.get(i));
      }
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(2, getException());
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      {
        int dataSize = 0;
        for (int i = 0; i < response_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(response_.get(i));
        }
        size += dataSize;
        size += 1 * getResponseList().size();
      }
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getException());
      }
      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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto)) {
        return super.equals(obj);
      }
      com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto other = (com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto) obj;

      if (!getResponseList()
          .equals(other.getResponseList())) return false;
      if (hasException() != other.hasException()) return false;
      if (hasException()) {
        if (!getException()
            .equals(other.getException())) 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 (getResponseCount() > 0) {
        hash = (37 * hash) + RESPONSE_FIELD_NUMBER;
        hash = (53 * hash) + getResponseList().hashCode();
      }
      if (hasException()) {
        hash = (37 * hash) + EXCEPTION_FIELD_NUMBER;
        hash = (53 * hash) + getException().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto 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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto 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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto 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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto 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 com.palantir.paxos.persistence.generated.remoting.AcceptorResponseProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:com.palantir.paxos.persistence.generated.remoting.AcceptorResponseProto)
        com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProtoOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_AcceptorResponseProto_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_AcceptorResponseProto_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto.class, com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto.Builder.class);
      }

      // Construct using com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getExceptionFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        response_ = emptyList(com.google.protobuf.ByteString.class);
        exception_ = null;
        if (exceptionBuilder_ != null) {
          exceptionBuilder_.dispose();
          exceptionBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_AcceptorResponseProto_descriptor;
      }

      @java.lang.Override
      public com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto getDefaultInstanceForType() {
        return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto.getDefaultInstance();
      }

      @java.lang.Override
      public com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto build() {
        com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto buildPartial() {
        com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto result = new com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          response_.makeImmutable();
          result.response_ = response_;
        }
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.exception_ = exceptionBuilder_ == null
              ? exception_
              : exceptionBuilder_.build();
          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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto) {
          return mergeFrom((com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto other) {
        if (other == com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto.getDefaultInstance()) return this;
        if (!other.response_.isEmpty()) {
          if (response_.isEmpty()) {
            response_ = other.response_;
            response_.makeImmutable();
            bitField0_ |= 0x00000001;
          } else {
            ensureResponseIsMutable();
            response_.addAll(other.response_);
          }
          onChanged();
        }
        if (other.hasException()) {
          mergeException(other.getException());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (hasException()) {
          if (!getException().isInitialized()) {
            return false;
          }
        }
        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: {
                com.google.protobuf.ByteString v = input.readBytes();
                ensureResponseIsMutable();
                response_.add(v);
                break;
              } // case 10
              case 18: {
                input.readMessage(
                    getExceptionFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000002;
                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.google.protobuf.Internal.ProtobufList response_ = emptyList(com.google.protobuf.ByteString.class);
      private void ensureResponseIsMutable() {
        if (!response_.isModifiable()) {
          response_ = makeMutableCopy(response_);
        }
        bitField0_ |= 0x00000001;
      }
      /**
       * repeated bytes response = 1;
       * @return A list containing the response.
       */
      public java.util.List
          getResponseList() {
        response_.makeImmutable();
        return response_;
      }
      /**
       * repeated bytes response = 1;
       * @return The count of response.
       */
      public int getResponseCount() {
        return response_.size();
      }
      /**
       * repeated bytes response = 1;
       * @param index The index of the element to return.
       * @return The response at the given index.
       */
      public com.google.protobuf.ByteString getResponse(int index) {
        return response_.get(index);
      }
      /**
       * repeated bytes response = 1;
       * @param index The index to set the value at.
       * @param value The response to set.
       * @return This builder for chaining.
       */
      public Builder setResponse(
          int index, com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureResponseIsMutable();
        response_.set(index, value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * repeated bytes response = 1;
       * @param value The response to add.
       * @return This builder for chaining.
       */
      public Builder addResponse(com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureResponseIsMutable();
        response_.add(value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * repeated bytes response = 1;
       * @param values The response to add.
       * @return This builder for chaining.
       */
      public Builder addAllResponse(
          java.lang.Iterable values) {
        ensureResponseIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, response_);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * repeated bytes response = 1;
       * @return This builder for chaining.
       */
      public Builder clearResponse() {
        response_ = emptyList(com.google.protobuf.ByteString.class);
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }

      private com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProto exception_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProto, com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProto.Builder, com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProtoOrBuilder> exceptionBuilder_;
      /**
       * optional .com.palantir.paxos.persistence.generated.ExceptionProto exception = 2;
       * @return Whether the exception field is set.
       */
      public boolean hasException() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.ExceptionProto exception = 2;
       * @return The exception.
       */
      public com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProto getException() {
        if (exceptionBuilder_ == null) {
          return exception_ == null ? com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProto.getDefaultInstance() : exception_;
        } else {
          return exceptionBuilder_.getMessage();
        }
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.ExceptionProto exception = 2;
       */
      public Builder setException(com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProto value) {
        if (exceptionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          exception_ = value;
        } else {
          exceptionBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.ExceptionProto exception = 2;
       */
      public Builder setException(
          com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProto.Builder builderForValue) {
        if (exceptionBuilder_ == null) {
          exception_ = builderForValue.build();
        } else {
          exceptionBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.ExceptionProto exception = 2;
       */
      public Builder mergeException(com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProto value) {
        if (exceptionBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
            exception_ != null &&
            exception_ != com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProto.getDefaultInstance()) {
            getExceptionBuilder().mergeFrom(value);
          } else {
            exception_ = value;
          }
        } else {
          exceptionBuilder_.mergeFrom(value);
        }
        if (exception_ != null) {
          bitField0_ |= 0x00000002;
          onChanged();
        }
        return this;
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.ExceptionProto exception = 2;
       */
      public Builder clearException() {
        bitField0_ = (bitField0_ & ~0x00000002);
        exception_ = null;
        if (exceptionBuilder_ != null) {
          exceptionBuilder_.dispose();
          exceptionBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.ExceptionProto exception = 2;
       */
      public com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProto.Builder getExceptionBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getExceptionFieldBuilder().getBuilder();
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.ExceptionProto exception = 2;
       */
      public com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProtoOrBuilder getExceptionOrBuilder() {
        if (exceptionBuilder_ != null) {
          return exceptionBuilder_.getMessageOrBuilder();
        } else {
          return exception_ == null ?
              com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProto.getDefaultInstance() : exception_;
        }
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.ExceptionProto exception = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProto, com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProto.Builder, com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProtoOrBuilder> 
          getExceptionFieldBuilder() {
        if (exceptionBuilder_ == null) {
          exceptionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProto, com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProto.Builder, com.palantir.paxos.persistence.generated.PaxosPersistence.ExceptionProtoOrBuilder>(
                  getException(),
                  getParentForChildren(),
                  isClean());
          exception_ = null;
        }
        return exceptionBuilder_;
      }
      @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:com.palantir.paxos.persistence.generated.remoting.AcceptorResponseProto)
    }

    // @@protoc_insertion_point(class_scope:com.palantir.paxos.persistence.generated.remoting.AcceptorResponseProto)
    private static final com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto();
    }

    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public AcceptorResponseProto 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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.AcceptorResponseProto getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PaxosPromiseProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.palantir.paxos.persistence.generated.remoting.PaxosPromiseProto)
      com.google.protobuf.MessageOrBuilder {

    /**
     * required bool ack = 1;
     * @return Whether the ack field is set.
     */
    boolean hasAck();
    /**
     * required bool ack = 1;
     * @return The ack.
     */
    boolean getAck();

    /**
     * required .com.palantir.paxos.persistence.generated.PaxosProposalId promisedId = 2;
     * @return Whether the promisedId field is set.
     */
    boolean hasPromisedId();
    /**
     * required .com.palantir.paxos.persistence.generated.PaxosProposalId promisedId = 2;
     * @return The promisedId.
     */
    com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId getPromisedId();
    /**
     * required .com.palantir.paxos.persistence.generated.PaxosProposalId promisedId = 2;
     */
    com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalIdOrBuilder getPromisedIdOrBuilder();

    /**
     * optional .com.palantir.paxos.persistence.generated.PaxosProposalId lastAcceptedId = 3;
     * @return Whether the lastAcceptedId field is set.
     */
    boolean hasLastAcceptedId();
    /**
     * optional .com.palantir.paxos.persistence.generated.PaxosProposalId lastAcceptedId = 3;
     * @return The lastAcceptedId.
     */
    com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId getLastAcceptedId();
    /**
     * optional .com.palantir.paxos.persistence.generated.PaxosProposalId lastAcceptedId = 3;
     */
    com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalIdOrBuilder getLastAcceptedIdOrBuilder();

    /**
     * optional .com.palantir.paxos.persistence.generated.PaxosValue lastAcceptedValue = 4;
     * @return Whether the lastAcceptedValue field is set.
     */
    boolean hasLastAcceptedValue();
    /**
     * optional .com.palantir.paxos.persistence.generated.PaxosValue lastAcceptedValue = 4;
     * @return The lastAcceptedValue.
     */
    com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue getLastAcceptedValue();
    /**
     * optional .com.palantir.paxos.persistence.generated.PaxosValue lastAcceptedValue = 4;
     */
    com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValueOrBuilder getLastAcceptedValueOrBuilder();
  }
  /**
   * Protobuf type {@code com.palantir.paxos.persistence.generated.remoting.PaxosPromiseProto}
   */
  public static final class PaxosPromiseProto extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.palantir.paxos.persistence.generated.remoting.PaxosPromiseProto)
      PaxosPromiseProtoOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PaxosPromiseProto.newBuilder() to construct.
    private PaxosPromiseProto(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private PaxosPromiseProto() {
    }

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

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosPromiseProto_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosPromiseProto_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto.class, com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto.Builder.class);
    }

    private int bitField0_;
    public static final int ACK_FIELD_NUMBER = 1;
    private boolean ack_ = false;
    /**
     * required bool ack = 1;
     * @return Whether the ack field is set.
     */
    @java.lang.Override
    public boolean hasAck() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * required bool ack = 1;
     * @return The ack.
     */
    @java.lang.Override
    public boolean getAck() {
      return ack_;
    }

    public static final int PROMISEDID_FIELD_NUMBER = 2;
    private com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId promisedId_;
    /**
     * required .com.palantir.paxos.persistence.generated.PaxosProposalId promisedId = 2;
     * @return Whether the promisedId field is set.
     */
    @java.lang.Override
    public boolean hasPromisedId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * required .com.palantir.paxos.persistence.generated.PaxosProposalId promisedId = 2;
     * @return The promisedId.
     */
    @java.lang.Override
    public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId getPromisedId() {
      return promisedId_ == null ? com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.getDefaultInstance() : promisedId_;
    }
    /**
     * required .com.palantir.paxos.persistence.generated.PaxosProposalId promisedId = 2;
     */
    @java.lang.Override
    public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalIdOrBuilder getPromisedIdOrBuilder() {
      return promisedId_ == null ? com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.getDefaultInstance() : promisedId_;
    }

    public static final int LASTACCEPTEDID_FIELD_NUMBER = 3;
    private com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId lastAcceptedId_;
    /**
     * optional .com.palantir.paxos.persistence.generated.PaxosProposalId lastAcceptedId = 3;
     * @return Whether the lastAcceptedId field is set.
     */
    @java.lang.Override
    public boolean hasLastAcceptedId() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional .com.palantir.paxos.persistence.generated.PaxosProposalId lastAcceptedId = 3;
     * @return The lastAcceptedId.
     */
    @java.lang.Override
    public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId getLastAcceptedId() {
      return lastAcceptedId_ == null ? com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.getDefaultInstance() : lastAcceptedId_;
    }
    /**
     * optional .com.palantir.paxos.persistence.generated.PaxosProposalId lastAcceptedId = 3;
     */
    @java.lang.Override
    public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalIdOrBuilder getLastAcceptedIdOrBuilder() {
      return lastAcceptedId_ == null ? com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.getDefaultInstance() : lastAcceptedId_;
    }

    public static final int LASTACCEPTEDVALUE_FIELD_NUMBER = 4;
    private com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue lastAcceptedValue_;
    /**
     * optional .com.palantir.paxos.persistence.generated.PaxosValue lastAcceptedValue = 4;
     * @return Whether the lastAcceptedValue field is set.
     */
    @java.lang.Override
    public boolean hasLastAcceptedValue() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional .com.palantir.paxos.persistence.generated.PaxosValue lastAcceptedValue = 4;
     * @return The lastAcceptedValue.
     */
    @java.lang.Override
    public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue getLastAcceptedValue() {
      return lastAcceptedValue_ == null ? com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue.getDefaultInstance() : lastAcceptedValue_;
    }
    /**
     * optional .com.palantir.paxos.persistence.generated.PaxosValue lastAcceptedValue = 4;
     */
    @java.lang.Override
    public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValueOrBuilder getLastAcceptedValueOrBuilder() {
      return lastAcceptedValue_ == null ? com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue.getDefaultInstance() : lastAcceptedValue_;
    }

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

      if (!hasAck()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasPromisedId()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getPromisedId().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (hasLastAcceptedId()) {
        if (!getLastAcceptedId().isInitialized()) {
          memoizedIsInitialized = 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)) {
        output.writeBool(1, ack_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(2, getPromisedId());
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeMessage(3, getLastAcceptedId());
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeMessage(4, getLastAcceptedValue());
      }
      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.CodedOutputStream
          .computeBoolSize(1, ack_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getPromisedId());
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getLastAcceptedId());
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, getLastAcceptedValue());
      }
      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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto)) {
        return super.equals(obj);
      }
      com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto other = (com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto) obj;

      if (hasAck() != other.hasAck()) return false;
      if (hasAck()) {
        if (getAck()
            != other.getAck()) return false;
      }
      if (hasPromisedId() != other.hasPromisedId()) return false;
      if (hasPromisedId()) {
        if (!getPromisedId()
            .equals(other.getPromisedId())) return false;
      }
      if (hasLastAcceptedId() != other.hasLastAcceptedId()) return false;
      if (hasLastAcceptedId()) {
        if (!getLastAcceptedId()
            .equals(other.getLastAcceptedId())) return false;
      }
      if (hasLastAcceptedValue() != other.hasLastAcceptedValue()) return false;
      if (hasLastAcceptedValue()) {
        if (!getLastAcceptedValue()
            .equals(other.getLastAcceptedValue())) 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 (hasAck()) {
        hash = (37 * hash) + ACK_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getAck());
      }
      if (hasPromisedId()) {
        hash = (37 * hash) + PROMISEDID_FIELD_NUMBER;
        hash = (53 * hash) + getPromisedId().hashCode();
      }
      if (hasLastAcceptedId()) {
        hash = (37 * hash) + LASTACCEPTEDID_FIELD_NUMBER;
        hash = (53 * hash) + getLastAcceptedId().hashCode();
      }
      if (hasLastAcceptedValue()) {
        hash = (37 * hash) + LASTACCEPTEDVALUE_FIELD_NUMBER;
        hash = (53 * hash) + getLastAcceptedValue().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto 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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto 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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto 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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto 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 com.palantir.paxos.persistence.generated.remoting.PaxosPromiseProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:com.palantir.paxos.persistence.generated.remoting.PaxosPromiseProto)
        com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProtoOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosPromiseProto_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosPromiseProto_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto.class, com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto.Builder.class);
      }

      // Construct using com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getPromisedIdFieldBuilder();
          getLastAcceptedIdFieldBuilder();
          getLastAcceptedValueFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        ack_ = false;
        promisedId_ = null;
        if (promisedIdBuilder_ != null) {
          promisedIdBuilder_.dispose();
          promisedIdBuilder_ = null;
        }
        lastAcceptedId_ = null;
        if (lastAcceptedIdBuilder_ != null) {
          lastAcceptedIdBuilder_.dispose();
          lastAcceptedIdBuilder_ = null;
        }
        lastAcceptedValue_ = null;
        if (lastAcceptedValueBuilder_ != null) {
          lastAcceptedValueBuilder_.dispose();
          lastAcceptedValueBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosPromiseProto_descriptor;
      }

      @java.lang.Override
      public com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto getDefaultInstanceForType() {
        return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto.getDefaultInstance();
      }

      @java.lang.Override
      public com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto build() {
        com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto buildPartial() {
        com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto result = new com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.ack_ = ack_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.promisedId_ = promisedIdBuilder_ == null
              ? promisedId_
              : promisedIdBuilder_.build();
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.lastAcceptedId_ = lastAcceptedIdBuilder_ == null
              ? lastAcceptedId_
              : lastAcceptedIdBuilder_.build();
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.lastAcceptedValue_ = lastAcceptedValueBuilder_ == null
              ? lastAcceptedValue_
              : lastAcceptedValueBuilder_.build();
          to_bitField0_ |= 0x00000008;
        }
        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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto) {
          return mergeFrom((com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto other) {
        if (other == com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto.getDefaultInstance()) return this;
        if (other.hasAck()) {
          setAck(other.getAck());
        }
        if (other.hasPromisedId()) {
          mergePromisedId(other.getPromisedId());
        }
        if (other.hasLastAcceptedId()) {
          mergeLastAcceptedId(other.getLastAcceptedId());
        }
        if (other.hasLastAcceptedValue()) {
          mergeLastAcceptedValue(other.getLastAcceptedValue());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasAck()) {
          return false;
        }
        if (!hasPromisedId()) {
          return false;
        }
        if (!getPromisedId().isInitialized()) {
          return false;
        }
        if (hasLastAcceptedId()) {
          if (!getLastAcceptedId().isInitialized()) {
            return false;
          }
        }
        return true;
      }

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

      private boolean ack_ ;
      /**
       * required bool ack = 1;
       * @return Whether the ack field is set.
       */
      @java.lang.Override
      public boolean hasAck() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required bool ack = 1;
       * @return The ack.
       */
      @java.lang.Override
      public boolean getAck() {
        return ack_;
      }
      /**
       * required bool ack = 1;
       * @param value The ack to set.
       * @return This builder for chaining.
       */
      public Builder setAck(boolean value) {

        ack_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required bool ack = 1;
       * @return This builder for chaining.
       */
      public Builder clearAck() {
        bitField0_ = (bitField0_ & ~0x00000001);
        ack_ = false;
        onChanged();
        return this;
      }

      private com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId promisedId_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.Builder, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalIdOrBuilder> promisedIdBuilder_;
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosProposalId promisedId = 2;
       * @return Whether the promisedId field is set.
       */
      public boolean hasPromisedId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosProposalId promisedId = 2;
       * @return The promisedId.
       */
      public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId getPromisedId() {
        if (promisedIdBuilder_ == null) {
          return promisedId_ == null ? com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.getDefaultInstance() : promisedId_;
        } else {
          return promisedIdBuilder_.getMessage();
        }
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosProposalId promisedId = 2;
       */
      public Builder setPromisedId(com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId value) {
        if (promisedIdBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          promisedId_ = value;
        } else {
          promisedIdBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosProposalId promisedId = 2;
       */
      public Builder setPromisedId(
          com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.Builder builderForValue) {
        if (promisedIdBuilder_ == null) {
          promisedId_ = builderForValue.build();
        } else {
          promisedIdBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosProposalId promisedId = 2;
       */
      public Builder mergePromisedId(com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId value) {
        if (promisedIdBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
            promisedId_ != null &&
            promisedId_ != com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.getDefaultInstance()) {
            getPromisedIdBuilder().mergeFrom(value);
          } else {
            promisedId_ = value;
          }
        } else {
          promisedIdBuilder_.mergeFrom(value);
        }
        if (promisedId_ != null) {
          bitField0_ |= 0x00000002;
          onChanged();
        }
        return this;
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosProposalId promisedId = 2;
       */
      public Builder clearPromisedId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        promisedId_ = null;
        if (promisedIdBuilder_ != null) {
          promisedIdBuilder_.dispose();
          promisedIdBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosProposalId promisedId = 2;
       */
      public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.Builder getPromisedIdBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getPromisedIdFieldBuilder().getBuilder();
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosProposalId promisedId = 2;
       */
      public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalIdOrBuilder getPromisedIdOrBuilder() {
        if (promisedIdBuilder_ != null) {
          return promisedIdBuilder_.getMessageOrBuilder();
        } else {
          return promisedId_ == null ?
              com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.getDefaultInstance() : promisedId_;
        }
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosProposalId promisedId = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.Builder, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalIdOrBuilder> 
          getPromisedIdFieldBuilder() {
        if (promisedIdBuilder_ == null) {
          promisedIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.Builder, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalIdOrBuilder>(
                  getPromisedId(),
                  getParentForChildren(),
                  isClean());
          promisedId_ = null;
        }
        return promisedIdBuilder_;
      }

      private com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId lastAcceptedId_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.Builder, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalIdOrBuilder> lastAcceptedIdBuilder_;
      /**
       * optional .com.palantir.paxos.persistence.generated.PaxosProposalId lastAcceptedId = 3;
       * @return Whether the lastAcceptedId field is set.
       */
      public boolean hasLastAcceptedId() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.PaxosProposalId lastAcceptedId = 3;
       * @return The lastAcceptedId.
       */
      public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId getLastAcceptedId() {
        if (lastAcceptedIdBuilder_ == null) {
          return lastAcceptedId_ == null ? com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.getDefaultInstance() : lastAcceptedId_;
        } else {
          return lastAcceptedIdBuilder_.getMessage();
        }
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.PaxosProposalId lastAcceptedId = 3;
       */
      public Builder setLastAcceptedId(com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId value) {
        if (lastAcceptedIdBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          lastAcceptedId_ = value;
        } else {
          lastAcceptedIdBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.PaxosProposalId lastAcceptedId = 3;
       */
      public Builder setLastAcceptedId(
          com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.Builder builderForValue) {
        if (lastAcceptedIdBuilder_ == null) {
          lastAcceptedId_ = builderForValue.build();
        } else {
          lastAcceptedIdBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.PaxosProposalId lastAcceptedId = 3;
       */
      public Builder mergeLastAcceptedId(com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId value) {
        if (lastAcceptedIdBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0) &&
            lastAcceptedId_ != null &&
            lastAcceptedId_ != com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.getDefaultInstance()) {
            getLastAcceptedIdBuilder().mergeFrom(value);
          } else {
            lastAcceptedId_ = value;
          }
        } else {
          lastAcceptedIdBuilder_.mergeFrom(value);
        }
        if (lastAcceptedId_ != null) {
          bitField0_ |= 0x00000004;
          onChanged();
        }
        return this;
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.PaxosProposalId lastAcceptedId = 3;
       */
      public Builder clearLastAcceptedId() {
        bitField0_ = (bitField0_ & ~0x00000004);
        lastAcceptedId_ = null;
        if (lastAcceptedIdBuilder_ != null) {
          lastAcceptedIdBuilder_.dispose();
          lastAcceptedIdBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.PaxosProposalId lastAcceptedId = 3;
       */
      public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.Builder getLastAcceptedIdBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getLastAcceptedIdFieldBuilder().getBuilder();
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.PaxosProposalId lastAcceptedId = 3;
       */
      public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalIdOrBuilder getLastAcceptedIdOrBuilder() {
        if (lastAcceptedIdBuilder_ != null) {
          return lastAcceptedIdBuilder_.getMessageOrBuilder();
        } else {
          return lastAcceptedId_ == null ?
              com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.getDefaultInstance() : lastAcceptedId_;
        }
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.PaxosProposalId lastAcceptedId = 3;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.Builder, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalIdOrBuilder> 
          getLastAcceptedIdFieldBuilder() {
        if (lastAcceptedIdBuilder_ == null) {
          lastAcceptedIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.Builder, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalIdOrBuilder>(
                  getLastAcceptedId(),
                  getParentForChildren(),
                  isClean());
          lastAcceptedId_ = null;
        }
        return lastAcceptedIdBuilder_;
      }

      private com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue lastAcceptedValue_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue.Builder, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValueOrBuilder> lastAcceptedValueBuilder_;
      /**
       * optional .com.palantir.paxos.persistence.generated.PaxosValue lastAcceptedValue = 4;
       * @return Whether the lastAcceptedValue field is set.
       */
      public boolean hasLastAcceptedValue() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.PaxosValue lastAcceptedValue = 4;
       * @return The lastAcceptedValue.
       */
      public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue getLastAcceptedValue() {
        if (lastAcceptedValueBuilder_ == null) {
          return lastAcceptedValue_ == null ? com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue.getDefaultInstance() : lastAcceptedValue_;
        } else {
          return lastAcceptedValueBuilder_.getMessage();
        }
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.PaxosValue lastAcceptedValue = 4;
       */
      public Builder setLastAcceptedValue(com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue value) {
        if (lastAcceptedValueBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          lastAcceptedValue_ = value;
        } else {
          lastAcceptedValueBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.PaxosValue lastAcceptedValue = 4;
       */
      public Builder setLastAcceptedValue(
          com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue.Builder builderForValue) {
        if (lastAcceptedValueBuilder_ == null) {
          lastAcceptedValue_ = builderForValue.build();
        } else {
          lastAcceptedValueBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.PaxosValue lastAcceptedValue = 4;
       */
      public Builder mergeLastAcceptedValue(com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue value) {
        if (lastAcceptedValueBuilder_ == null) {
          if (((bitField0_ & 0x00000008) != 0) &&
            lastAcceptedValue_ != null &&
            lastAcceptedValue_ != com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue.getDefaultInstance()) {
            getLastAcceptedValueBuilder().mergeFrom(value);
          } else {
            lastAcceptedValue_ = value;
          }
        } else {
          lastAcceptedValueBuilder_.mergeFrom(value);
        }
        if (lastAcceptedValue_ != null) {
          bitField0_ |= 0x00000008;
          onChanged();
        }
        return this;
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.PaxosValue lastAcceptedValue = 4;
       */
      public Builder clearLastAcceptedValue() {
        bitField0_ = (bitField0_ & ~0x00000008);
        lastAcceptedValue_ = null;
        if (lastAcceptedValueBuilder_ != null) {
          lastAcceptedValueBuilder_.dispose();
          lastAcceptedValueBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.PaxosValue lastAcceptedValue = 4;
       */
      public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue.Builder getLastAcceptedValueBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getLastAcceptedValueFieldBuilder().getBuilder();
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.PaxosValue lastAcceptedValue = 4;
       */
      public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValueOrBuilder getLastAcceptedValueOrBuilder() {
        if (lastAcceptedValueBuilder_ != null) {
          return lastAcceptedValueBuilder_.getMessageOrBuilder();
        } else {
          return lastAcceptedValue_ == null ?
              com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue.getDefaultInstance() : lastAcceptedValue_;
        }
      }
      /**
       * optional .com.palantir.paxos.persistence.generated.PaxosValue lastAcceptedValue = 4;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue.Builder, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValueOrBuilder> 
          getLastAcceptedValueFieldBuilder() {
        if (lastAcceptedValueBuilder_ == null) {
          lastAcceptedValueBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue.Builder, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValueOrBuilder>(
                  getLastAcceptedValue(),
                  getParentForChildren(),
                  isClean());
          lastAcceptedValue_ = null;
        }
        return lastAcceptedValueBuilder_;
      }
      @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:com.palantir.paxos.persistence.generated.remoting.PaxosPromiseProto)
    }

    // @@protoc_insertion_point(class_scope:com.palantir.paxos.persistence.generated.remoting.PaxosPromiseProto)
    private static final com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto();
    }

    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public PaxosPromiseProto 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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosPromiseProto getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PaxosProposalOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.palantir.paxos.persistence.generated.remoting.PaxosProposal)
      com.google.protobuf.MessageOrBuilder {

    /**
     * required .com.palantir.paxos.persistence.generated.PaxosProposalId id = 1;
     * @return Whether the id field is set.
     */
    boolean hasId();
    /**
     * required .com.palantir.paxos.persistence.generated.PaxosProposalId id = 1;
     * @return The id.
     */
    com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId getId();
    /**
     * required .com.palantir.paxos.persistence.generated.PaxosProposalId id = 1;
     */
    com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalIdOrBuilder getIdOrBuilder();

    /**
     * required .com.palantir.paxos.persistence.generated.PaxosValue val = 2;
     * @return Whether the val field is set.
     */
    boolean hasVal();
    /**
     * required .com.palantir.paxos.persistence.generated.PaxosValue val = 2;
     * @return The val.
     */
    com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue getVal();
    /**
     * required .com.palantir.paxos.persistence.generated.PaxosValue val = 2;
     */
    com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValueOrBuilder getValOrBuilder();
  }
  /**
   * Protobuf type {@code com.palantir.paxos.persistence.generated.remoting.PaxosProposal}
   */
  public static final class PaxosProposal extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.palantir.paxos.persistence.generated.remoting.PaxosProposal)
      PaxosProposalOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PaxosProposal.newBuilder() to construct.
    private PaxosProposal(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private PaxosProposal() {
    }

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

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosProposal_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosProposal_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal.class, com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal.Builder.class);
    }

    private int bitField0_;
    public static final int ID_FIELD_NUMBER = 1;
    private com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId id_;
    /**
     * required .com.palantir.paxos.persistence.generated.PaxosProposalId id = 1;
     * @return Whether the id field is set.
     */
    @java.lang.Override
    public boolean hasId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * required .com.palantir.paxos.persistence.generated.PaxosProposalId id = 1;
     * @return The id.
     */
    @java.lang.Override
    public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId getId() {
      return id_ == null ? com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.getDefaultInstance() : id_;
    }
    /**
     * required .com.palantir.paxos.persistence.generated.PaxosProposalId id = 1;
     */
    @java.lang.Override
    public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalIdOrBuilder getIdOrBuilder() {
      return id_ == null ? com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.getDefaultInstance() : id_;
    }

    public static final int VAL_FIELD_NUMBER = 2;
    private com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue val_;
    /**
     * required .com.palantir.paxos.persistence.generated.PaxosValue val = 2;
     * @return Whether the val field is set.
     */
    @java.lang.Override
    public boolean hasVal() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * required .com.palantir.paxos.persistence.generated.PaxosValue val = 2;
     * @return The val.
     */
    @java.lang.Override
    public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue getVal() {
      return val_ == null ? com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue.getDefaultInstance() : val_;
    }
    /**
     * required .com.palantir.paxos.persistence.generated.PaxosValue val = 2;
     */
    @java.lang.Override
    public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValueOrBuilder getValOrBuilder() {
      return val_ == null ? com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue.getDefaultInstance() : val_;
    }

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

      if (!hasId()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasVal()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getId().isInitialized()) {
        memoizedIsInitialized = 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)) {
        output.writeMessage(1, getId());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(2, getVal());
      }
      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.CodedOutputStream
          .computeMessageSize(1, getId());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getVal());
      }
      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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal)) {
        return super.equals(obj);
      }
      com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal other = (com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal) obj;

      if (hasId() != other.hasId()) return false;
      if (hasId()) {
        if (!getId()
            .equals(other.getId())) return false;
      }
      if (hasVal() != other.hasVal()) return false;
      if (hasVal()) {
        if (!getVal()
            .equals(other.getVal())) 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 (hasId()) {
        hash = (37 * hash) + ID_FIELD_NUMBER;
        hash = (53 * hash) + getId().hashCode();
      }
      if (hasVal()) {
        hash = (37 * hash) + VAL_FIELD_NUMBER;
        hash = (53 * hash) + getVal().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal 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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal 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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal 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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal 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 com.palantir.paxos.persistence.generated.remoting.PaxosProposal}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:com.palantir.paxos.persistence.generated.remoting.PaxosProposal)
        com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposalOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosProposal_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosProposal_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal.class, com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal.Builder.class);
      }

      // Construct using com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getIdFieldBuilder();
          getValFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        id_ = null;
        if (idBuilder_ != null) {
          idBuilder_.dispose();
          idBuilder_ = null;
        }
        val_ = null;
        if (valBuilder_ != null) {
          valBuilder_.dispose();
          valBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosProposal_descriptor;
      }

      @java.lang.Override
      public com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal getDefaultInstanceForType() {
        return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal.getDefaultInstance();
      }

      @java.lang.Override
      public com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal build() {
        com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal buildPartial() {
        com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal result = new com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.id_ = idBuilder_ == null
              ? id_
              : idBuilder_.build();
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.val_ = valBuilder_ == null
              ? val_
              : valBuilder_.build();
          to_bitField0_ |= 0x00000002;
        }
        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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal) {
          return mergeFrom((com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal other) {
        if (other == com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal.getDefaultInstance()) return this;
        if (other.hasId()) {
          mergeId(other.getId());
        }
        if (other.hasVal()) {
          mergeVal(other.getVal());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasId()) {
          return false;
        }
        if (!hasVal()) {
          return false;
        }
        if (!getId().isInitialized()) {
          return false;
        }
        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(
                    getIdFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                input.readMessage(
                    getValFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000002;
                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.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId id_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.Builder, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalIdOrBuilder> idBuilder_;
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosProposalId id = 1;
       * @return Whether the id field is set.
       */
      public boolean hasId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosProposalId id = 1;
       * @return The id.
       */
      public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId getId() {
        if (idBuilder_ == null) {
          return id_ == null ? com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.getDefaultInstance() : id_;
        } else {
          return idBuilder_.getMessage();
        }
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosProposalId id = 1;
       */
      public Builder setId(com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId value) {
        if (idBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          id_ = value;
        } else {
          idBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosProposalId id = 1;
       */
      public Builder setId(
          com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.Builder builderForValue) {
        if (idBuilder_ == null) {
          id_ = builderForValue.build();
        } else {
          idBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosProposalId id = 1;
       */
      public Builder mergeId(com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId value) {
        if (idBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            id_ != null &&
            id_ != com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.getDefaultInstance()) {
            getIdBuilder().mergeFrom(value);
          } else {
            id_ = value;
          }
        } else {
          idBuilder_.mergeFrom(value);
        }
        if (id_ != null) {
          bitField0_ |= 0x00000001;
          onChanged();
        }
        return this;
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosProposalId id = 1;
       */
      public Builder clearId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        id_ = null;
        if (idBuilder_ != null) {
          idBuilder_.dispose();
          idBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosProposalId id = 1;
       */
      public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.Builder getIdBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getIdFieldBuilder().getBuilder();
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosProposalId id = 1;
       */
      public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalIdOrBuilder getIdOrBuilder() {
        if (idBuilder_ != null) {
          return idBuilder_.getMessageOrBuilder();
        } else {
          return id_ == null ?
              com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.getDefaultInstance() : id_;
        }
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosProposalId id = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.Builder, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalIdOrBuilder> 
          getIdFieldBuilder() {
        if (idBuilder_ == null) {
          idBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalId.Builder, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosProposalIdOrBuilder>(
                  getId(),
                  getParentForChildren(),
                  isClean());
          id_ = null;
        }
        return idBuilder_;
      }

      private com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue val_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue.Builder, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValueOrBuilder> valBuilder_;
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosValue val = 2;
       * @return Whether the val field is set.
       */
      public boolean hasVal() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosValue val = 2;
       * @return The val.
       */
      public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue getVal() {
        if (valBuilder_ == null) {
          return val_ == null ? com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue.getDefaultInstance() : val_;
        } else {
          return valBuilder_.getMessage();
        }
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosValue val = 2;
       */
      public Builder setVal(com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue value) {
        if (valBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          val_ = value;
        } else {
          valBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosValue val = 2;
       */
      public Builder setVal(
          com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue.Builder builderForValue) {
        if (valBuilder_ == null) {
          val_ = builderForValue.build();
        } else {
          valBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosValue val = 2;
       */
      public Builder mergeVal(com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue value) {
        if (valBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
            val_ != null &&
            val_ != com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue.getDefaultInstance()) {
            getValBuilder().mergeFrom(value);
          } else {
            val_ = value;
          }
        } else {
          valBuilder_.mergeFrom(value);
        }
        if (val_ != null) {
          bitField0_ |= 0x00000002;
          onChanged();
        }
        return this;
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosValue val = 2;
       */
      public Builder clearVal() {
        bitField0_ = (bitField0_ & ~0x00000002);
        val_ = null;
        if (valBuilder_ != null) {
          valBuilder_.dispose();
          valBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosValue val = 2;
       */
      public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue.Builder getValBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getValFieldBuilder().getBuilder();
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosValue val = 2;
       */
      public com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValueOrBuilder getValOrBuilder() {
        if (valBuilder_ != null) {
          return valBuilder_.getMessageOrBuilder();
        } else {
          return val_ == null ?
              com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue.getDefaultInstance() : val_;
        }
      }
      /**
       * required .com.palantir.paxos.persistence.generated.PaxosValue val = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue.Builder, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValueOrBuilder> 
          getValFieldBuilder() {
        if (valBuilder_ == null) {
          valBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValue.Builder, com.palantir.paxos.persistence.generated.PaxosPersistence.PaxosValueOrBuilder>(
                  getVal(),
                  getParentForChildren(),
                  isClean());
          val_ = null;
        }
        return valBuilder_;
      }
      @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:com.palantir.paxos.persistence.generated.remoting.PaxosProposal)
    }

    // @@protoc_insertion_point(class_scope:com.palantir.paxos.persistence.generated.remoting.PaxosProposal)
    private static final com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal();
    }

    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public PaxosProposal 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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosProposal getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PaxosResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.palantir.paxos.persistence.generated.remoting.PaxosResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * required bool ack = 1;
     * @return Whether the ack field is set.
     */
    boolean hasAck();
    /**
     * required bool ack = 1;
     * @return The ack.
     */
    boolean getAck();
  }
  /**
   * Protobuf type {@code com.palantir.paxos.persistence.generated.remoting.PaxosResponse}
   */
  public static final class PaxosResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.palantir.paxos.persistence.generated.remoting.PaxosResponse)
      PaxosResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PaxosResponse.newBuilder() to construct.
    private PaxosResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private PaxosResponse() {
    }

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

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse.class, com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse.Builder.class);
    }

    private int bitField0_;
    public static final int ACK_FIELD_NUMBER = 1;
    private boolean ack_ = false;
    /**
     * required bool ack = 1;
     * @return Whether the ack field is set.
     */
    @java.lang.Override
    public boolean hasAck() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * required bool ack = 1;
     * @return The ack.
     */
    @java.lang.Override
    public boolean getAck() {
      return ack_;
    }

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

      if (!hasAck()) {
        memoizedIsInitialized = 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)) {
        output.writeBool(1, ack_);
      }
      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.CodedOutputStream
          .computeBoolSize(1, ack_);
      }
      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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse)) {
        return super.equals(obj);
      }
      com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse other = (com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse) obj;

      if (hasAck() != other.hasAck()) return false;
      if (hasAck()) {
        if (getAck()
            != other.getAck()) 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 (hasAck()) {
        hash = (37 * hash) + ACK_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getAck());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse 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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse 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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse 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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse 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 com.palantir.paxos.persistence.generated.remoting.PaxosResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:com.palantir.paxos.persistence.generated.remoting.PaxosResponse)
        com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse.class, com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse.Builder.class);
      }

      // Construct using com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse.newBuilder()
      private Builder() {

      }

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

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosResponse_descriptor;
      }

      @java.lang.Override
      public com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse getDefaultInstanceForType() {
        return com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse.getDefaultInstance();
      }

      @java.lang.Override
      public com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse build() {
        com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse buildPartial() {
        com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse result = new com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.ack_ = ack_;
          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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse) {
          return mergeFrom((com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse other) {
        if (other == com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse.getDefaultInstance()) return this;
        if (other.hasAck()) {
          setAck(other.getAck());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                ack_ = input.readBool();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              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 boolean ack_ ;
      /**
       * required bool ack = 1;
       * @return Whether the ack field is set.
       */
      @java.lang.Override
      public boolean hasAck() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required bool ack = 1;
       * @return The ack.
       */
      @java.lang.Override
      public boolean getAck() {
        return ack_;
      }
      /**
       * required bool ack = 1;
       * @param value The ack to set.
       * @return This builder for chaining.
       */
      public Builder setAck(boolean value) {

        ack_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required bool ack = 1;
       * @return This builder for chaining.
       */
      public Builder clearAck() {
        bitField0_ = (bitField0_ & ~0x00000001);
        ack_ = false;
        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:com.palantir.paxos.persistence.generated.remoting.PaxosResponse)
    }

    // @@protoc_insertion_point(class_scope:com.palantir.paxos.persistence.generated.remoting.PaxosResponse)
    private static final com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse();
    }

    public static com.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public PaxosResponse 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.palantir.paxos.persistence.generated.remoting.PaxosAcceptorPersistence.PaxosResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_palantir_paxos_persistence_generated_remoting_AcceptorRequestProto_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_palantir_paxos_persistence_generated_remoting_AcceptorRequestProto_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_palantir_paxos_persistence_generated_remoting_AcceptorResponseProto_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_palantir_paxos_persistence_generated_remoting_AcceptorResponseProto_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosPromiseProto_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosPromiseProto_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosProposal_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosProposal_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosResponse_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\036PaxosAcceptorPersistence.proto\0221com.pa" +
      "lantir.paxos.persistence.generated.remot" +
      "ing\032\026PaxosPersistence.proto\"\201\001\n\024Acceptor" +
      "RequestProto\022V\n\006method\030\001 \002(\0162F.com.palan" +
      "tir.paxos.persistence.generated.remoting" +
      ".AcceptorMethodProto\022\021\n\targuments\030\002 \003(\014\"" +
      "v\n\025AcceptorResponseProto\022\020\n\010response\030\001 \003" +
      "(\014\022K\n\texception\030\002 \001(\01328.com.palantir.pax" +
      "os.persistence.generated.ExceptionProto\"" +
      "\223\002\n\021PaxosPromiseProto\022\013\n\003ack\030\001 \002(\010\022M\n\npr" +
      "omisedId\030\002 \002(\01329.com.palantir.paxos.pers" +
      "istence.generated.PaxosProposalId\022Q\n\016las" +
      "tAcceptedId\030\003 \001(\01329.com.palantir.paxos.p" +
      "ersistence.generated.PaxosProposalId\022O\n\021" +
      "lastAcceptedValue\030\004 \001(\01324.com.palantir.p" +
      "axos.persistence.generated.PaxosValue\"\231\001" +
      "\n\rPaxosProposal\022E\n\002id\030\001 \002(\01329.com.palant" +
      "ir.paxos.persistence.generated.PaxosProp" +
      "osalId\022A\n\003val\030\002 \002(\01324.com.palantir.paxos" +
      ".persistence.generated.PaxosValue\"\034\n\rPax" +
      "osResponse\022\013\n\003ack\030\001 \002(\010*\\\n\023AcceptorMetho" +
      "dProto\022\013\n\007PREPARE\020\001\022\n\n\006ACCEPT\020\002\022,\n(GET_L" +
      "ATEST_SEQUENCE_PREPARED_OR_ACCEPTED\020\003"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          com.palantir.paxos.persistence.generated.PaxosPersistence.getDescriptor(),
        });
    internal_static_com_palantir_paxos_persistence_generated_remoting_AcceptorRequestProto_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_com_palantir_paxos_persistence_generated_remoting_AcceptorRequestProto_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_palantir_paxos_persistence_generated_remoting_AcceptorRequestProto_descriptor,
        new java.lang.String[] { "Method", "Arguments", });
    internal_static_com_palantir_paxos_persistence_generated_remoting_AcceptorResponseProto_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_com_palantir_paxos_persistence_generated_remoting_AcceptorResponseProto_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_palantir_paxos_persistence_generated_remoting_AcceptorResponseProto_descriptor,
        new java.lang.String[] { "Response", "Exception", });
    internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosPromiseProto_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosPromiseProto_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosPromiseProto_descriptor,
        new java.lang.String[] { "Ack", "PromisedId", "LastAcceptedId", "LastAcceptedValue", });
    internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosProposal_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosProposal_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosProposal_descriptor,
        new java.lang.String[] { "Id", "Val", });
    internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosResponse_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_palantir_paxos_persistence_generated_remoting_PaxosResponse_descriptor,
        new java.lang.String[] { "Ack", });
    com.palantir.paxos.persistence.generated.PaxosPersistence.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy