content: /*
   * Copyright (C) 2023-2025 Lightbend Inc. <https://www.lightbend.com>
   */
  
  // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: ReplicatorMessages.proto
  
  package akka.cluster.ddata.protobuf.msg;
  
  public final class ReplicatorMessages {
    private ReplicatorMessages() {}
    public static void registerAllExtensions(
        akka.protobufv3.internal.ExtensionRegistryLite registry) {
    }
  
    public static void registerAllExtensions(
        akka.protobufv3.internal.ExtensionRegistry registry) {
      registerAllExtensions(
          (akka.protobufv3.internal.ExtensionRegistryLite) registry);
    }
    public interface GetOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.Get)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return Whether the key field is set.
       */
      boolean hasKey();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return The key.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder();
  
      /**
       * <code>required sint32 consistency = 2;</code>
       * @return Whether the consistency field is set.
       */
      boolean hasConsistency();
      /**
       * <code>required sint32 consistency = 2;</code>
       * @return The consistency.
       */
      int getConsistency();
  
      /**
       * <code>required uint32 timeout = 3;</code>
       * @return Whether the timeout field is set.
       */
      boolean hasTimeout();
      /**
       * <code>required uint32 timeout = 3;</code>
       * @return The timeout.
       */
      int getTimeout();
  
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
       * @return Whether the request field is set.
       */
      boolean hasRequest();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
       * @return The request.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getRequest();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getRequestOrBuilder();
  
      /**
       * <code>optional int32 consistencyMinCap = 5;</code>
       * @return Whether the consistencyMinCap field is set.
       */
      boolean hasConsistencyMinCap();
      /**
       * <code>optional int32 consistencyMinCap = 5;</code>
       * @return The consistencyMinCap.
       */
      int getConsistencyMinCap();
  
      /**
       * <code>optional int32 consistencyAdditional = 6;</code>
       * @return Whether the consistencyAdditional field is set.
       */
      boolean hasConsistencyAdditional();
      /**
       * <code>optional int32 consistencyAdditional = 6;</code>
       * @return The consistencyAdditional.
       */
      int getConsistencyAdditional();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.Get}
     */
    public static final class Get extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.Get)
        GetOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Get.newBuilder() to construct.
      private Get(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Get() {
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Get();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Get_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Get_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get.Builder.class);
      }
  
      private int bitField0_;
      public static final int KEY_FIELD_NUMBER = 1;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage key_;
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return Whether the key field is set.
       */
      @java.lang.Override
      public boolean hasKey() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return The key.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey() {
        return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder() {
        return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
      }
  
      public static final int CONSISTENCY_FIELD_NUMBER = 2;
      private int consistency_ = 0;
      /**
       * <code>required sint32 consistency = 2;</code>
       * @return Whether the consistency field is set.
       */
      @java.lang.Override
      public boolean hasConsistency() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required sint32 consistency = 2;</code>
       * @return The consistency.
       */
      @java.lang.Override
      public int getConsistency() {
        return consistency_;
      }
  
      public static final int TIMEOUT_FIELD_NUMBER = 3;
      private int timeout_ = 0;
      /**
       * <code>required uint32 timeout = 3;</code>
       * @return Whether the timeout field is set.
       */
      @java.lang.Override
      public boolean hasTimeout() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required uint32 timeout = 3;</code>
       * @return The timeout.
       */
      @java.lang.Override
      public int getTimeout() {
        return timeout_;
      }
  
      public static final int REQUEST_FIELD_NUMBER = 4;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage request_;
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
       * @return Whether the request field is set.
       */
      @java.lang.Override
      public boolean hasRequest() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
       * @return The request.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getRequest() {
        return request_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : request_;
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getRequestOrBuilder() {
        return request_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : request_;
      }
  
      public static final int CONSISTENCYMINCAP_FIELD_NUMBER = 5;
      private int consistencyMinCap_ = 0;
      /**
       * <code>optional int32 consistencyMinCap = 5;</code>
       * @return Whether the consistencyMinCap field is set.
       */
      @java.lang.Override
      public boolean hasConsistencyMinCap() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <code>optional int32 consistencyMinCap = 5;</code>
       * @return The consistencyMinCap.
       */
      @java.lang.Override
      public int getConsistencyMinCap() {
        return consistencyMinCap_;
      }
  
      public static final int CONSISTENCYADDITIONAL_FIELD_NUMBER = 6;
      private int consistencyAdditional_ = 0;
      /**
       * <code>optional int32 consistencyAdditional = 6;</code>
       * @return Whether the consistencyAdditional field is set.
       */
      @java.lang.Override
      public boolean hasConsistencyAdditional() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * <code>optional int32 consistencyAdditional = 6;</code>
       * @return The consistencyAdditional.
       */
      @java.lang.Override
      public int getConsistencyAdditional() {
        return consistencyAdditional_;
      }
  
      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 (!hasKey()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasConsistency()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasTimeout()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getKey().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (hasRequest()) {
          if (!getRequest().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getKey());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeSInt32(2, consistency_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeUInt32(3, timeout_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          output.writeMessage(4, getRequest());
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          output.writeInt32(5, consistencyMinCap_);
        }
        if (((bitField0_ & 0x00000020) != 0)) {
          output.writeInt32(6, consistencyAdditional_);
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(1, getKey());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeSInt32Size(2, consistency_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeUInt32Size(3, timeout_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(4, getRequest());
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeInt32Size(5, consistencyMinCap_);
        }
        if (((bitField0_ & 0x00000020) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeInt32Size(6, consistencyAdditional_);
        }
        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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get) obj;
  
        if (hasKey() != other.hasKey()) return false;
        if (hasKey()) {
          if (!getKey()
              .equals(other.getKey())) return false;
        }
        if (hasConsistency() != other.hasConsistency()) return false;
        if (hasConsistency()) {
          if (getConsistency()
              != other.getConsistency()) return false;
        }
        if (hasTimeout() != other.hasTimeout()) return false;
        if (hasTimeout()) {
          if (getTimeout()
              != other.getTimeout()) return false;
        }
        if (hasRequest() != other.hasRequest()) return false;
        if (hasRequest()) {
          if (!getRequest()
              .equals(other.getRequest())) return false;
        }
        if (hasConsistencyMinCap() != other.hasConsistencyMinCap()) return false;
        if (hasConsistencyMinCap()) {
          if (getConsistencyMinCap()
              != other.getConsistencyMinCap()) return false;
        }
        if (hasConsistencyAdditional() != other.hasConsistencyAdditional()) return false;
        if (hasConsistencyAdditional()) {
          if (getConsistencyAdditional()
              != other.getConsistencyAdditional()) 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 (hasKey()) {
          hash = (37 * hash) + KEY_FIELD_NUMBER;
          hash = (53 * hash) + getKey().hashCode();
        }
        if (hasConsistency()) {
          hash = (37 * hash) + CONSISTENCY_FIELD_NUMBER;
          hash = (53 * hash) + getConsistency();
        }
        if (hasTimeout()) {
          hash = (37 * hash) + TIMEOUT_FIELD_NUMBER;
          hash = (53 * hash) + getTimeout();
        }
        if (hasRequest()) {
          hash = (37 * hash) + REQUEST_FIELD_NUMBER;
          hash = (53 * hash) + getRequest().hashCode();
        }
        if (hasConsistencyMinCap()) {
          hash = (37 * hash) + CONSISTENCYMINCAP_FIELD_NUMBER;
          hash = (53 * hash) + getConsistencyMinCap();
        }
        if (hasConsistencyAdditional()) {
          hash = (37 * hash) + CONSISTENCYADDITIONAL_FIELD_NUMBER;
          hash = (53 * hash) + getConsistencyAdditional();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.Get}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.Get)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Get_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Get_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getKeyFieldBuilder();
            getRequestFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          key_ = null;
          if (keyBuilder_ != null) {
            keyBuilder_.dispose();
            keyBuilder_ = null;
          }
          consistency_ = 0;
          timeout_ = 0;
          request_ = null;
          if (requestBuilder_ != null) {
            requestBuilder_.dispose();
            requestBuilder_ = null;
          }
          consistencyMinCap_ = 0;
          consistencyAdditional_ = 0;
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Get_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.key_ = keyBuilder_ == null
                ? key_
                : keyBuilder_.build();
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.consistency_ = consistency_;
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.timeout_ = timeout_;
            to_bitField0_ |= 0x00000004;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.request_ = requestBuilder_ == null
                ? request_
                : requestBuilder_.build();
            to_bitField0_ |= 0x00000008;
          }
          if (((from_bitField0_ & 0x00000010) != 0)) {
            result.consistencyMinCap_ = consistencyMinCap_;
            to_bitField0_ |= 0x00000010;
          }
          if (((from_bitField0_ & 0x00000020) != 0)) {
            result.consistencyAdditional_ = consistencyAdditional_;
            to_bitField0_ |= 0x00000020;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get.getDefaultInstance()) return this;
          if (other.hasKey()) {
            mergeKey(other.getKey());
          }
          if (other.hasConsistency()) {
            setConsistency(other.getConsistency());
          }
          if (other.hasTimeout()) {
            setTimeout(other.getTimeout());
          }
          if (other.hasRequest()) {
            mergeRequest(other.getRequest());
          }
          if (other.hasConsistencyMinCap()) {
            setConsistencyMinCap(other.getConsistencyMinCap());
          }
          if (other.hasConsistencyAdditional()) {
            setConsistencyAdditional(other.getConsistencyAdditional());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasKey()) {
            return false;
          }
          if (!hasConsistency()) {
            return false;
          }
          if (!hasTimeout()) {
            return false;
          }
          if (!getKey().isInitialized()) {
            return false;
          }
          if (hasRequest()) {
            if (!getRequest().isInitialized()) {
              return false;
            }
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.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(
                      getKeyFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 16: {
                  consistency_ = input.readSInt32();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 16
                case 24: {
                  timeout_ = input.readUInt32();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 24
                case 34: {
                  input.readMessage(
                      getRequestFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000008;
                  break;
                } // case 34
                case 40: {
                  consistencyMinCap_ = input.readInt32();
                  bitField0_ |= 0x00000010;
                  break;
                } // case 40
                case 48: {
                  consistencyAdditional_ = input.readInt32();
                  bitField0_ |= 0x00000020;
                  break;
                } // case 48
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage key_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> keyBuilder_;
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         * @return Whether the key field is set.
         */
        public boolean hasKey() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         * @return The key.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey() {
          if (keyBuilder_ == null) {
            return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
          } else {
            return keyBuilder_.getMessage();
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder setKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (keyBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            key_ = value;
          } else {
            keyBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder setKey(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (keyBuilder_ == null) {
            key_ = builderForValue.build();
          } else {
            keyBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder mergeKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (keyBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0) &&
              key_ != null &&
              key_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              getKeyBuilder().mergeFrom(value);
            } else {
              key_ = value;
            }
          } else {
            keyBuilder_.mergeFrom(value);
          }
          if (key_ != null) {
            bitField0_ |= 0x00000001;
            onChanged();
          }
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder clearKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          key_ = null;
          if (keyBuilder_ != null) {
            keyBuilder_.dispose();
            keyBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getKeyBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getKeyFieldBuilder().getBuilder();
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder() {
          if (keyBuilder_ != null) {
            return keyBuilder_.getMessageOrBuilder();
          } else {
            return key_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
            getKeyFieldBuilder() {
          if (keyBuilder_ == null) {
            keyBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    getKey(),
                    getParentForChildren(),
                    isClean());
            key_ = null;
          }
          return keyBuilder_;
        }
  
        private int consistency_ ;
        /**
         * <code>required sint32 consistency = 2;</code>
         * @return Whether the consistency field is set.
         */
        @java.lang.Override
        public boolean hasConsistency() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required sint32 consistency = 2;</code>
         * @return The consistency.
         */
        @java.lang.Override
        public int getConsistency() {
          return consistency_;
        }
        /**
         * <code>required sint32 consistency = 2;</code>
         * @param value The consistency to set.
         * @return This builder for chaining.
         */
        public Builder setConsistency(int value) {
  
          consistency_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required sint32 consistency = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearConsistency() {
          bitField0_ = (bitField0_ & ~0x00000002);
          consistency_ = 0;
          onChanged();
          return this;
        }
  
        private int timeout_ ;
        /**
         * <code>required uint32 timeout = 3;</code>
         * @return Whether the timeout field is set.
         */
        @java.lang.Override
        public boolean hasTimeout() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>required uint32 timeout = 3;</code>
         * @return The timeout.
         */
        @java.lang.Override
        public int getTimeout() {
          return timeout_;
        }
        /**
         * <code>required uint32 timeout = 3;</code>
         * @param value The timeout to set.
         * @return This builder for chaining.
         */
        public Builder setTimeout(int value) {
  
          timeout_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>required uint32 timeout = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearTimeout() {
          bitField0_ = (bitField0_ & ~0x00000004);
          timeout_ = 0;
          onChanged();
          return this;
        }
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage request_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> requestBuilder_;
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
         * @return Whether the request field is set.
         */
        public boolean hasRequest() {
          return ((bitField0_ & 0x00000008) != 0);
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
         * @return The request.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getRequest() {
          if (requestBuilder_ == null) {
            return request_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : request_;
          } else {
            return requestBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
         */
        public Builder setRequest(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (requestBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            request_ = value;
          } else {
            requestBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
         */
        public Builder setRequest(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (requestBuilder_ == null) {
            request_ = builderForValue.build();
          } else {
            requestBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
         */
        public Builder mergeRequest(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (requestBuilder_ == null) {
            if (((bitField0_ & 0x00000008) != 0) &&
              request_ != null &&
              request_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              getRequestBuilder().mergeFrom(value);
            } else {
              request_ = value;
            }
          } else {
            requestBuilder_.mergeFrom(value);
          }
          if (request_ != null) {
            bitField0_ |= 0x00000008;
            onChanged();
          }
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
         */
        public Builder clearRequest() {
          bitField0_ = (bitField0_ & ~0x00000008);
          request_ = null;
          if (requestBuilder_ != null) {
            requestBuilder_.dispose();
            requestBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getRequestBuilder() {
          bitField0_ |= 0x00000008;
          onChanged();
          return getRequestFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getRequestOrBuilder() {
          if (requestBuilder_ != null) {
            return requestBuilder_.getMessageOrBuilder();
          } else {
            return request_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : request_;
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
            getRequestFieldBuilder() {
          if (requestBuilder_ == null) {
            requestBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    getRequest(),
                    getParentForChildren(),
                    isClean());
            request_ = null;
          }
          return requestBuilder_;
        }
  
        private int consistencyMinCap_ ;
        /**
         * <code>optional int32 consistencyMinCap = 5;</code>
         * @return Whether the consistencyMinCap field is set.
         */
        @java.lang.Override
        public boolean hasConsistencyMinCap() {
          return ((bitField0_ & 0x00000010) != 0);
        }
        /**
         * <code>optional int32 consistencyMinCap = 5;</code>
         * @return The consistencyMinCap.
         */
        @java.lang.Override
        public int getConsistencyMinCap() {
          return consistencyMinCap_;
        }
        /**
         * <code>optional int32 consistencyMinCap = 5;</code>
         * @param value The consistencyMinCap to set.
         * @return This builder for chaining.
         */
        public Builder setConsistencyMinCap(int value) {
  
          consistencyMinCap_ = value;
          bitField0_ |= 0x00000010;
          onChanged();
          return this;
        }
        /**
         * <code>optional int32 consistencyMinCap = 5;</code>
         * @return This builder for chaining.
         */
        public Builder clearConsistencyMinCap() {
          bitField0_ = (bitField0_ & ~0x00000010);
          consistencyMinCap_ = 0;
          onChanged();
          return this;
        }
  
        private int consistencyAdditional_ ;
        /**
         * <code>optional int32 consistencyAdditional = 6;</code>
         * @return Whether the consistencyAdditional field is set.
         */
        @java.lang.Override
        public boolean hasConsistencyAdditional() {
          return ((bitField0_ & 0x00000020) != 0);
        }
        /**
         * <code>optional int32 consistencyAdditional = 6;</code>
         * @return The consistencyAdditional.
         */
        @java.lang.Override
        public int getConsistencyAdditional() {
          return consistencyAdditional_;
        }
        /**
         * <code>optional int32 consistencyAdditional = 6;</code>
         * @param value The consistencyAdditional to set.
         * @return This builder for chaining.
         */
        public Builder setConsistencyAdditional(int value) {
  
          consistencyAdditional_ = value;
          bitField0_ |= 0x00000020;
          onChanged();
          return this;
        }
        /**
         * <code>optional int32 consistencyAdditional = 6;</code>
         * @return This builder for chaining.
         */
        public Builder clearConsistencyAdditional() {
          bitField0_ = (bitField0_ & ~0x00000020);
          consistencyAdditional_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.Get)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.Get)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Get>
          PARSER = new akka.protobufv3.internal.AbstractParser<Get>() {
        @java.lang.Override
        public Get parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<Get> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<Get> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Get getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface GetSuccessOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.GetSuccess)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return Whether the key field is set.
       */
      boolean hasKey();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return The key.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder();
  
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
       * @return Whether the data field is set.
       */
      boolean hasData();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
       * @return The data.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getData();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getDataOrBuilder();
  
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
       * @return Whether the request field is set.
       */
      boolean hasRequest();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
       * @return The request.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getRequest();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getRequestOrBuilder();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.GetSuccess}
     */
    public static final class GetSuccess extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.GetSuccess)
        GetSuccessOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use GetSuccess.newBuilder() to construct.
      private GetSuccess(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private GetSuccess() {
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new GetSuccess();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_GetSuccess_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_GetSuccess_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess.Builder.class);
      }
  
      private int bitField0_;
      public static final int KEY_FIELD_NUMBER = 1;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage key_;
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return Whether the key field is set.
       */
      @java.lang.Override
      public boolean hasKey() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return The key.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey() {
        return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder() {
        return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
      }
  
      public static final int DATA_FIELD_NUMBER = 2;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage data_;
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
       * @return Whether the data field is set.
       */
      @java.lang.Override
      public boolean hasData() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
       * @return The data.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getData() {
        return data_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : data_;
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getDataOrBuilder() {
        return data_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : data_;
      }
  
      public static final int REQUEST_FIELD_NUMBER = 4;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage request_;
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
       * @return Whether the request field is set.
       */
      @java.lang.Override
      public boolean hasRequest() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
       * @return The request.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getRequest() {
        return request_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : request_;
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getRequestOrBuilder() {
        return request_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : request_;
      }
  
      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 (!hasKey()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasData()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getKey().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getData().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (hasRequest()) {
          if (!getRequest().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getKey());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeMessage(2, getData());
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeMessage(4, getRequest());
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(1, getKey());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(2, getData());
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(4, getRequest());
        }
        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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess) obj;
  
        if (hasKey() != other.hasKey()) return false;
        if (hasKey()) {
          if (!getKey()
              .equals(other.getKey())) return false;
        }
        if (hasData() != other.hasData()) return false;
        if (hasData()) {
          if (!getData()
              .equals(other.getData())) return false;
        }
        if (hasRequest() != other.hasRequest()) return false;
        if (hasRequest()) {
          if (!getRequest()
              .equals(other.getRequest())) 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 (hasKey()) {
          hash = (37 * hash) + KEY_FIELD_NUMBER;
          hash = (53 * hash) + getKey().hashCode();
        }
        if (hasData()) {
          hash = (37 * hash) + DATA_FIELD_NUMBER;
          hash = (53 * hash) + getData().hashCode();
        }
        if (hasRequest()) {
          hash = (37 * hash) + REQUEST_FIELD_NUMBER;
          hash = (53 * hash) + getRequest().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.GetSuccess}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.GetSuccess)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccessOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_GetSuccess_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_GetSuccess_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getKeyFieldBuilder();
            getDataFieldBuilder();
            getRequestFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          key_ = null;
          if (keyBuilder_ != null) {
            keyBuilder_.dispose();
            keyBuilder_ = null;
          }
          data_ = null;
          if (dataBuilder_ != null) {
            dataBuilder_.dispose();
            dataBuilder_ = null;
          }
          request_ = null;
          if (requestBuilder_ != null) {
            requestBuilder_.dispose();
            requestBuilder_ = null;
          }
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_GetSuccess_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.key_ = keyBuilder_ == null
                ? key_
                : keyBuilder_.build();
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.data_ = dataBuilder_ == null
                ? data_
                : dataBuilder_.build();
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.request_ = requestBuilder_ == null
                ? request_
                : requestBuilder_.build();
            to_bitField0_ |= 0x00000004;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess.getDefaultInstance()) return this;
          if (other.hasKey()) {
            mergeKey(other.getKey());
          }
          if (other.hasData()) {
            mergeData(other.getData());
          }
          if (other.hasRequest()) {
            mergeRequest(other.getRequest());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasKey()) {
            return false;
          }
          if (!hasData()) {
            return false;
          }
          if (!getKey().isInitialized()) {
            return false;
          }
          if (!getData().isInitialized()) {
            return false;
          }
          if (hasRequest()) {
            if (!getRequest().isInitialized()) {
              return false;
            }
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.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(
                      getKeyFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  input.readMessage(
                      getDataFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                case 34: {
                  input.readMessage(
                      getRequestFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000004;
                  break;
                } // case 34
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage key_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> keyBuilder_;
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         * @return Whether the key field is set.
         */
        public boolean hasKey() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         * @return The key.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey() {
          if (keyBuilder_ == null) {
            return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
          } else {
            return keyBuilder_.getMessage();
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder setKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (keyBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            key_ = value;
          } else {
            keyBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder setKey(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (keyBuilder_ == null) {
            key_ = builderForValue.build();
          } else {
            keyBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder mergeKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (keyBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0) &&
              key_ != null &&
              key_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              getKeyBuilder().mergeFrom(value);
            } else {
              key_ = value;
            }
          } else {
            keyBuilder_.mergeFrom(value);
          }
          if (key_ != null) {
            bitField0_ |= 0x00000001;
            onChanged();
          }
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder clearKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          key_ = null;
          if (keyBuilder_ != null) {
            keyBuilder_.dispose();
            keyBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getKeyBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getKeyFieldBuilder().getBuilder();
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder() {
          if (keyBuilder_ != null) {
            return keyBuilder_.getMessageOrBuilder();
          } else {
            return key_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
            getKeyFieldBuilder() {
          if (keyBuilder_ == null) {
            keyBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    getKey(),
                    getParentForChildren(),
                    isClean());
            key_ = null;
          }
          return keyBuilder_;
        }
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage data_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> dataBuilder_;
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
         * @return Whether the data field is set.
         */
        public boolean hasData() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
         * @return The data.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getData() {
          if (dataBuilder_ == null) {
            return data_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : data_;
          } else {
            return dataBuilder_.getMessage();
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
         */
        public Builder setData(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (dataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            data_ = value;
          } else {
            dataBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
         */
        public Builder setData(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (dataBuilder_ == null) {
            data_ = builderForValue.build();
          } else {
            dataBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
         */
        public Builder mergeData(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (dataBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0) &&
              data_ != null &&
              data_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              getDataBuilder().mergeFrom(value);
            } else {
              data_ = value;
            }
          } else {
            dataBuilder_.mergeFrom(value);
          }
          if (data_ != null) {
            bitField0_ |= 0x00000002;
            onChanged();
          }
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
         */
        public Builder clearData() {
          bitField0_ = (bitField0_ & ~0x00000002);
          data_ = null;
          if (dataBuilder_ != null) {
            dataBuilder_.dispose();
            dataBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getDataBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getDataFieldBuilder().getBuilder();
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getDataOrBuilder() {
          if (dataBuilder_ != null) {
            return dataBuilder_.getMessageOrBuilder();
          } else {
            return data_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : data_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
            getDataFieldBuilder() {
          if (dataBuilder_ == null) {
            dataBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    getData(),
                    getParentForChildren(),
                    isClean());
            data_ = null;
          }
          return dataBuilder_;
        }
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage request_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> requestBuilder_;
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
         * @return Whether the request field is set.
         */
        public boolean hasRequest() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
         * @return The request.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getRequest() {
          if (requestBuilder_ == null) {
            return request_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : request_;
          } else {
            return requestBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
         */
        public Builder setRequest(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (requestBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            request_ = value;
          } else {
            requestBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
         */
        public Builder setRequest(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (requestBuilder_ == null) {
            request_ = builderForValue.build();
          } else {
            requestBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
         */
        public Builder mergeRequest(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (requestBuilder_ == null) {
            if (((bitField0_ & 0x00000004) != 0) &&
              request_ != null &&
              request_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              getRequestBuilder().mergeFrom(value);
            } else {
              request_ = value;
            }
          } else {
            requestBuilder_.mergeFrom(value);
          }
          if (request_ != null) {
            bitField0_ |= 0x00000004;
            onChanged();
          }
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
         */
        public Builder clearRequest() {
          bitField0_ = (bitField0_ & ~0x00000004);
          request_ = null;
          if (requestBuilder_ != null) {
            requestBuilder_.dispose();
            requestBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getRequestBuilder() {
          bitField0_ |= 0x00000004;
          onChanged();
          return getRequestFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getRequestOrBuilder() {
          if (requestBuilder_ != null) {
            return requestBuilder_.getMessageOrBuilder();
          } else {
            return request_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : request_;
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 4;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
            getRequestFieldBuilder() {
          if (requestBuilder_ == null) {
            requestBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    getRequest(),
                    getParentForChildren(),
                    isClean());
            request_ = null;
          }
          return requestBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.GetSuccess)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.GetSuccess)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<GetSuccess>
          PARSER = new akka.protobufv3.internal.AbstractParser<GetSuccess>() {
        @java.lang.Override
        public GetSuccess parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<GetSuccess> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<GetSuccess> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetSuccess getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface NotFoundOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.NotFound)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return Whether the key field is set.
       */
      boolean hasKey();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return The key.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder();
  
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
       * @return Whether the request field is set.
       */
      boolean hasRequest();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
       * @return The request.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getRequest();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getRequestOrBuilder();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.NotFound}
     */
    public static final class NotFound extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.NotFound)
        NotFoundOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use NotFound.newBuilder() to construct.
      private NotFound(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private NotFound() {
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new NotFound();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_NotFound_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_NotFound_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound.Builder.class);
      }
  
      private int bitField0_;
      public static final int KEY_FIELD_NUMBER = 1;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage key_;
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return Whether the key field is set.
       */
      @java.lang.Override
      public boolean hasKey() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return The key.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey() {
        return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder() {
        return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
      }
  
      public static final int REQUEST_FIELD_NUMBER = 2;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage request_;
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
       * @return Whether the request field is set.
       */
      @java.lang.Override
      public boolean hasRequest() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
       * @return The request.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getRequest() {
        return request_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : request_;
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getRequestOrBuilder() {
        return request_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : request_;
      }
  
      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 (!hasKey()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getKey().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (hasRequest()) {
          if (!getRequest().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getKey());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeMessage(2, getRequest());
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(1, getKey());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(2, getRequest());
        }
        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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound) obj;
  
        if (hasKey() != other.hasKey()) return false;
        if (hasKey()) {
          if (!getKey()
              .equals(other.getKey())) return false;
        }
        if (hasRequest() != other.hasRequest()) return false;
        if (hasRequest()) {
          if (!getRequest()
              .equals(other.getRequest())) 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 (hasKey()) {
          hash = (37 * hash) + KEY_FIELD_NUMBER;
          hash = (53 * hash) + getKey().hashCode();
        }
        if (hasRequest()) {
          hash = (37 * hash) + REQUEST_FIELD_NUMBER;
          hash = (53 * hash) + getRequest().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.NotFound}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.NotFound)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFoundOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_NotFound_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_NotFound_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getKeyFieldBuilder();
            getRequestFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          key_ = null;
          if (keyBuilder_ != null) {
            keyBuilder_.dispose();
            keyBuilder_ = null;
          }
          request_ = null;
          if (requestBuilder_ != null) {
            requestBuilder_.dispose();
            requestBuilder_ = null;
          }
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_NotFound_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.key_ = keyBuilder_ == null
                ? key_
                : keyBuilder_.build();
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.request_ = requestBuilder_ == null
                ? request_
                : requestBuilder_.build();
            to_bitField0_ |= 0x00000002;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound.getDefaultInstance()) return this;
          if (other.hasKey()) {
            mergeKey(other.getKey());
          }
          if (other.hasRequest()) {
            mergeRequest(other.getRequest());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasKey()) {
            return false;
          }
          if (!getKey().isInitialized()) {
            return false;
          }
          if (hasRequest()) {
            if (!getRequest().isInitialized()) {
              return false;
            }
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.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(
                      getKeyFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  input.readMessage(
                      getRequestFieldBuilder().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 (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage key_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> keyBuilder_;
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         * @return Whether the key field is set.
         */
        public boolean hasKey() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         * @return The key.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey() {
          if (keyBuilder_ == null) {
            return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
          } else {
            return keyBuilder_.getMessage();
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder setKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (keyBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            key_ = value;
          } else {
            keyBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder setKey(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (keyBuilder_ == null) {
            key_ = builderForValue.build();
          } else {
            keyBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder mergeKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (keyBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0) &&
              key_ != null &&
              key_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              getKeyBuilder().mergeFrom(value);
            } else {
              key_ = value;
            }
          } else {
            keyBuilder_.mergeFrom(value);
          }
          if (key_ != null) {
            bitField0_ |= 0x00000001;
            onChanged();
          }
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder clearKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          key_ = null;
          if (keyBuilder_ != null) {
            keyBuilder_.dispose();
            keyBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getKeyBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getKeyFieldBuilder().getBuilder();
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder() {
          if (keyBuilder_ != null) {
            return keyBuilder_.getMessageOrBuilder();
          } else {
            return key_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
            getKeyFieldBuilder() {
          if (keyBuilder_ == null) {
            keyBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    getKey(),
                    getParentForChildren(),
                    isClean());
            key_ = null;
          }
          return keyBuilder_;
        }
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage request_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> requestBuilder_;
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
         * @return Whether the request field is set.
         */
        public boolean hasRequest() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
         * @return The request.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getRequest() {
          if (requestBuilder_ == null) {
            return request_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : request_;
          } else {
            return requestBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
         */
        public Builder setRequest(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (requestBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            request_ = value;
          } else {
            requestBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
         */
        public Builder setRequest(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (requestBuilder_ == null) {
            request_ = builderForValue.build();
          } else {
            requestBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
         */
        public Builder mergeRequest(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (requestBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0) &&
              request_ != null &&
              request_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              getRequestBuilder().mergeFrom(value);
            } else {
              request_ = value;
            }
          } else {
            requestBuilder_.mergeFrom(value);
          }
          if (request_ != null) {
            bitField0_ |= 0x00000002;
            onChanged();
          }
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
         */
        public Builder clearRequest() {
          bitField0_ = (bitField0_ & ~0x00000002);
          request_ = null;
          if (requestBuilder_ != null) {
            requestBuilder_.dispose();
            requestBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getRequestBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getRequestFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getRequestOrBuilder() {
          if (requestBuilder_ != null) {
            return requestBuilder_.getMessageOrBuilder();
          } else {
            return request_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : request_;
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
            getRequestFieldBuilder() {
          if (requestBuilder_ == null) {
            requestBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    getRequest(),
                    getParentForChildren(),
                    isClean());
            request_ = null;
          }
          return requestBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.NotFound)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.NotFound)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<NotFound>
          PARSER = new akka.protobufv3.internal.AbstractParser<NotFound>() {
        @java.lang.Override
        public NotFound parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<NotFound> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<NotFound> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.NotFound getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface GetFailureOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.GetFailure)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return Whether the key field is set.
       */
      boolean hasKey();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return The key.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder();
  
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
       * @return Whether the request field is set.
       */
      boolean hasRequest();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
       * @return The request.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getRequest();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getRequestOrBuilder();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.GetFailure}
     */
    public static final class GetFailure extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.GetFailure)
        GetFailureOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use GetFailure.newBuilder() to construct.
      private GetFailure(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private GetFailure() {
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new GetFailure();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_GetFailure_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_GetFailure_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure.Builder.class);
      }
  
      private int bitField0_;
      public static final int KEY_FIELD_NUMBER = 1;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage key_;
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return Whether the key field is set.
       */
      @java.lang.Override
      public boolean hasKey() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return The key.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey() {
        return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder() {
        return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
      }
  
      public static final int REQUEST_FIELD_NUMBER = 2;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage request_;
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
       * @return Whether the request field is set.
       */
      @java.lang.Override
      public boolean hasRequest() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
       * @return The request.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getRequest() {
        return request_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : request_;
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getRequestOrBuilder() {
        return request_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : request_;
      }
  
      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 (!hasKey()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getKey().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (hasRequest()) {
          if (!getRequest().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getKey());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeMessage(2, getRequest());
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(1, getKey());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(2, getRequest());
        }
        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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure) obj;
  
        if (hasKey() != other.hasKey()) return false;
        if (hasKey()) {
          if (!getKey()
              .equals(other.getKey())) return false;
        }
        if (hasRequest() != other.hasRequest()) return false;
        if (hasRequest()) {
          if (!getRequest()
              .equals(other.getRequest())) 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 (hasKey()) {
          hash = (37 * hash) + KEY_FIELD_NUMBER;
          hash = (53 * hash) + getKey().hashCode();
        }
        if (hasRequest()) {
          hash = (37 * hash) + REQUEST_FIELD_NUMBER;
          hash = (53 * hash) + getRequest().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.GetFailure}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.GetFailure)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailureOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_GetFailure_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_GetFailure_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getKeyFieldBuilder();
            getRequestFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          key_ = null;
          if (keyBuilder_ != null) {
            keyBuilder_.dispose();
            keyBuilder_ = null;
          }
          request_ = null;
          if (requestBuilder_ != null) {
            requestBuilder_.dispose();
            requestBuilder_ = null;
          }
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_GetFailure_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.key_ = keyBuilder_ == null
                ? key_
                : keyBuilder_.build();
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.request_ = requestBuilder_ == null
                ? request_
                : requestBuilder_.build();
            to_bitField0_ |= 0x00000002;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure.getDefaultInstance()) return this;
          if (other.hasKey()) {
            mergeKey(other.getKey());
          }
          if (other.hasRequest()) {
            mergeRequest(other.getRequest());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasKey()) {
            return false;
          }
          if (!getKey().isInitialized()) {
            return false;
          }
          if (hasRequest()) {
            if (!getRequest().isInitialized()) {
              return false;
            }
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.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(
                      getKeyFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  input.readMessage(
                      getRequestFieldBuilder().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 (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage key_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> keyBuilder_;
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         * @return Whether the key field is set.
         */
        public boolean hasKey() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         * @return The key.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey() {
          if (keyBuilder_ == null) {
            return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
          } else {
            return keyBuilder_.getMessage();
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder setKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (keyBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            key_ = value;
          } else {
            keyBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder setKey(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (keyBuilder_ == null) {
            key_ = builderForValue.build();
          } else {
            keyBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder mergeKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (keyBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0) &&
              key_ != null &&
              key_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              getKeyBuilder().mergeFrom(value);
            } else {
              key_ = value;
            }
          } else {
            keyBuilder_.mergeFrom(value);
          }
          if (key_ != null) {
            bitField0_ |= 0x00000001;
            onChanged();
          }
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder clearKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          key_ = null;
          if (keyBuilder_ != null) {
            keyBuilder_.dispose();
            keyBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getKeyBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getKeyFieldBuilder().getBuilder();
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder() {
          if (keyBuilder_ != null) {
            return keyBuilder_.getMessageOrBuilder();
          } else {
            return key_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
            getKeyFieldBuilder() {
          if (keyBuilder_ == null) {
            keyBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    getKey(),
                    getParentForChildren(),
                    isClean());
            key_ = null;
          }
          return keyBuilder_;
        }
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage request_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> requestBuilder_;
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
         * @return Whether the request field is set.
         */
        public boolean hasRequest() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
         * @return The request.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getRequest() {
          if (requestBuilder_ == null) {
            return request_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : request_;
          } else {
            return requestBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
         */
        public Builder setRequest(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (requestBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            request_ = value;
          } else {
            requestBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
         */
        public Builder setRequest(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (requestBuilder_ == null) {
            request_ = builderForValue.build();
          } else {
            requestBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
         */
        public Builder mergeRequest(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (requestBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0) &&
              request_ != null &&
              request_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              getRequestBuilder().mergeFrom(value);
            } else {
              request_ = value;
            }
          } else {
            requestBuilder_.mergeFrom(value);
          }
          if (request_ != null) {
            bitField0_ |= 0x00000002;
            onChanged();
          }
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
         */
        public Builder clearRequest() {
          bitField0_ = (bitField0_ & ~0x00000002);
          request_ = null;
          if (requestBuilder_ != null) {
            requestBuilder_.dispose();
            requestBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getRequestBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getRequestFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getRequestOrBuilder() {
          if (requestBuilder_ != null) {
            return requestBuilder_.getMessageOrBuilder();
          } else {
            return request_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : request_;
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage request = 2;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
            getRequestFieldBuilder() {
          if (requestBuilder_ == null) {
            requestBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    getRequest(),
                    getParentForChildren(),
                    isClean());
            request_ = null;
          }
          return requestBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.GetFailure)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.GetFailure)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<GetFailure>
          PARSER = new akka.protobufv3.internal.AbstractParser<GetFailure>() {
        @java.lang.Override
        public GetFailure parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<GetFailure> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<GetFailure> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GetFailure getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface SubscribeOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.Subscribe)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return Whether the key field is set.
       */
      boolean hasKey();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return The key.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder();
  
      /**
       * <code>required string ref = 2;</code>
       * @return Whether the ref field is set.
       */
      boolean hasRef();
      /**
       * <code>required string ref = 2;</code>
       * @return The ref.
       */
      java.lang.String getRef();
      /**
       * <code>required string ref = 2;</code>
       * @return The bytes for ref.
       */
      akka.protobufv3.internal.ByteString
          getRefBytes();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.Subscribe}
     */
    public static final class Subscribe extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.Subscribe)
        SubscribeOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Subscribe.newBuilder() to construct.
      private Subscribe(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Subscribe() {
        ref_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Subscribe();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Subscribe_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Subscribe_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe.Builder.class);
      }
  
      private int bitField0_;
      public static final int KEY_FIELD_NUMBER = 1;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage key_;
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return Whether the key field is set.
       */
      @java.lang.Override
      public boolean hasKey() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return The key.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey() {
        return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder() {
        return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
      }
  
      public static final int REF_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private volatile java.lang.Object ref_ = "";
      /**
       * <code>required string ref = 2;</code>
       * @return Whether the ref field is set.
       */
      @java.lang.Override
      public boolean hasRef() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string ref = 2;</code>
       * @return The ref.
       */
      @java.lang.Override
      public java.lang.String getRef() {
        java.lang.Object ref = ref_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          akka.protobufv3.internal.ByteString bs = 
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            ref_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string ref = 2;</code>
       * @return The bytes for ref.
       */
      @java.lang.Override
      public akka.protobufv3.internal.ByteString
          getRefBytes() {
        java.lang.Object ref = ref_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ref_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;
  
        if (!hasKey()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasRef()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getKey().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getKey());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 2, ref_);
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(1, getKey());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(2, ref_);
        }
        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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe) obj;
  
        if (hasKey() != other.hasKey()) return false;
        if (hasKey()) {
          if (!getKey()
              .equals(other.getKey())) return false;
        }
        if (hasRef() != other.hasRef()) return false;
        if (hasRef()) {
          if (!getRef()
              .equals(other.getRef())) 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 (hasKey()) {
          hash = (37 * hash) + KEY_FIELD_NUMBER;
          hash = (53 * hash) + getKey().hashCode();
        }
        if (hasRef()) {
          hash = (37 * hash) + REF_FIELD_NUMBER;
          hash = (53 * hash) + getRef().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.Subscribe}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.Subscribe)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.SubscribeOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Subscribe_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Subscribe_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getKeyFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          key_ = null;
          if (keyBuilder_ != null) {
            keyBuilder_.dispose();
            keyBuilder_ = null;
          }
          ref_ = "";
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Subscribe_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.key_ = keyBuilder_ == null
                ? key_
                : keyBuilder_.build();
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.ref_ = ref_;
            to_bitField0_ |= 0x00000002;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe.getDefaultInstance()) return this;
          if (other.hasKey()) {
            mergeKey(other.getKey());
          }
          if (other.hasRef()) {
            ref_ = other.ref_;
            bitField0_ |= 0x00000002;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasKey()) {
            return false;
          }
          if (!hasRef()) {
            return false;
          }
          if (!getKey().isInitialized()) {
            return false;
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.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(
                      getKeyFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  ref_ = input.readBytes();
                  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 (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage key_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> keyBuilder_;
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         * @return Whether the key field is set.
         */
        public boolean hasKey() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         * @return The key.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey() {
          if (keyBuilder_ == null) {
            return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
          } else {
            return keyBuilder_.getMessage();
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder setKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (keyBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            key_ = value;
          } else {
            keyBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder setKey(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (keyBuilder_ == null) {
            key_ = builderForValue.build();
          } else {
            keyBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder mergeKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (keyBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0) &&
              key_ != null &&
              key_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              getKeyBuilder().mergeFrom(value);
            } else {
              key_ = value;
            }
          } else {
            keyBuilder_.mergeFrom(value);
          }
          if (key_ != null) {
            bitField0_ |= 0x00000001;
            onChanged();
          }
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder clearKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          key_ = null;
          if (keyBuilder_ != null) {
            keyBuilder_.dispose();
            keyBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getKeyBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getKeyFieldBuilder().getBuilder();
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder() {
          if (keyBuilder_ != null) {
            return keyBuilder_.getMessageOrBuilder();
          } else {
            return key_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
            getKeyFieldBuilder() {
          if (keyBuilder_ == null) {
            keyBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    getKey(),
                    getParentForChildren(),
                    isClean());
            key_ = null;
          }
          return keyBuilder_;
        }
  
        private java.lang.Object ref_ = "";
        /**
         * <code>required string ref = 2;</code>
         * @return Whether the ref field is set.
         */
        public boolean hasRef() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required string ref = 2;</code>
         * @return The ref.
         */
        public java.lang.String getRef() {
          java.lang.Object ref = ref_;
          if (!(ref instanceof java.lang.String)) {
            akka.protobufv3.internal.ByteString bs =
                (akka.protobufv3.internal.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              ref_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string ref = 2;</code>
         * @return The bytes for ref.
         */
        public akka.protobufv3.internal.ByteString
            getRefBytes() {
          java.lang.Object ref = ref_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            ref_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string ref = 2;</code>
         * @param value The ref to set.
         * @return This builder for chaining.
         */
        public Builder setRef(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ref_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required string ref = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearRef() {
          ref_ = getDefaultInstance().getRef();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * <code>required string ref = 2;</code>
         * @param value The bytes for ref to set.
         * @return This builder for chaining.
         */
        public Builder setRefBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          ref_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.Subscribe)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.Subscribe)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Subscribe>
          PARSER = new akka.protobufv3.internal.AbstractParser<Subscribe>() {
        @java.lang.Override
        public Subscribe parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<Subscribe> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<Subscribe> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Subscribe getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface UnsubscribeOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.Unsubscribe)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return Whether the key field is set.
       */
      boolean hasKey();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return The key.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder();
  
      /**
       * <code>required string ref = 2;</code>
       * @return Whether the ref field is set.
       */
      boolean hasRef();
      /**
       * <code>required string ref = 2;</code>
       * @return The ref.
       */
      java.lang.String getRef();
      /**
       * <code>required string ref = 2;</code>
       * @return The bytes for ref.
       */
      akka.protobufv3.internal.ByteString
          getRefBytes();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.Unsubscribe}
     */
    public static final class Unsubscribe extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.Unsubscribe)
        UnsubscribeOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Unsubscribe.newBuilder() to construct.
      private Unsubscribe(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Unsubscribe() {
        ref_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Unsubscribe();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Unsubscribe_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Unsubscribe_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe.Builder.class);
      }
  
      private int bitField0_;
      public static final int KEY_FIELD_NUMBER = 1;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage key_;
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return Whether the key field is set.
       */
      @java.lang.Override
      public boolean hasKey() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return The key.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey() {
        return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder() {
        return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
      }
  
      public static final int REF_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private volatile java.lang.Object ref_ = "";
      /**
       * <code>required string ref = 2;</code>
       * @return Whether the ref field is set.
       */
      @java.lang.Override
      public boolean hasRef() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string ref = 2;</code>
       * @return The ref.
       */
      @java.lang.Override
      public java.lang.String getRef() {
        java.lang.Object ref = ref_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          akka.protobufv3.internal.ByteString bs = 
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            ref_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string ref = 2;</code>
       * @return The bytes for ref.
       */
      @java.lang.Override
      public akka.protobufv3.internal.ByteString
          getRefBytes() {
        java.lang.Object ref = ref_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ref_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;
  
        if (!hasKey()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasRef()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getKey().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getKey());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 2, ref_);
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(1, getKey());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(2, ref_);
        }
        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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe) obj;
  
        if (hasKey() != other.hasKey()) return false;
        if (hasKey()) {
          if (!getKey()
              .equals(other.getKey())) return false;
        }
        if (hasRef() != other.hasRef()) return false;
        if (hasRef()) {
          if (!getRef()
              .equals(other.getRef())) 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 (hasKey()) {
          hash = (37 * hash) + KEY_FIELD_NUMBER;
          hash = (53 * hash) + getKey().hashCode();
        }
        if (hasRef()) {
          hash = (37 * hash) + REF_FIELD_NUMBER;
          hash = (53 * hash) + getRef().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.Unsubscribe}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.Unsubscribe)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UnsubscribeOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Unsubscribe_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Unsubscribe_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getKeyFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          key_ = null;
          if (keyBuilder_ != null) {
            keyBuilder_.dispose();
            keyBuilder_ = null;
          }
          ref_ = "";
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Unsubscribe_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.key_ = keyBuilder_ == null
                ? key_
                : keyBuilder_.build();
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.ref_ = ref_;
            to_bitField0_ |= 0x00000002;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe.getDefaultInstance()) return this;
          if (other.hasKey()) {
            mergeKey(other.getKey());
          }
          if (other.hasRef()) {
            ref_ = other.ref_;
            bitField0_ |= 0x00000002;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasKey()) {
            return false;
          }
          if (!hasRef()) {
            return false;
          }
          if (!getKey().isInitialized()) {
            return false;
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.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(
                      getKeyFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  ref_ = input.readBytes();
                  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 (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage key_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> keyBuilder_;
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         * @return Whether the key field is set.
         */
        public boolean hasKey() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         * @return The key.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey() {
          if (keyBuilder_ == null) {
            return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
          } else {
            return keyBuilder_.getMessage();
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder setKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (keyBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            key_ = value;
          } else {
            keyBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder setKey(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (keyBuilder_ == null) {
            key_ = builderForValue.build();
          } else {
            keyBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder mergeKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (keyBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0) &&
              key_ != null &&
              key_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              getKeyBuilder().mergeFrom(value);
            } else {
              key_ = value;
            }
          } else {
            keyBuilder_.mergeFrom(value);
          }
          if (key_ != null) {
            bitField0_ |= 0x00000001;
            onChanged();
          }
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder clearKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          key_ = null;
          if (keyBuilder_ != null) {
            keyBuilder_.dispose();
            keyBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getKeyBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getKeyFieldBuilder().getBuilder();
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder() {
          if (keyBuilder_ != null) {
            return keyBuilder_.getMessageOrBuilder();
          } else {
            return key_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
            getKeyFieldBuilder() {
          if (keyBuilder_ == null) {
            keyBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    getKey(),
                    getParentForChildren(),
                    isClean());
            key_ = null;
          }
          return keyBuilder_;
        }
  
        private java.lang.Object ref_ = "";
        /**
         * <code>required string ref = 2;</code>
         * @return Whether the ref field is set.
         */
        public boolean hasRef() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required string ref = 2;</code>
         * @return The ref.
         */
        public java.lang.String getRef() {
          java.lang.Object ref = ref_;
          if (!(ref instanceof java.lang.String)) {
            akka.protobufv3.internal.ByteString bs =
                (akka.protobufv3.internal.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              ref_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string ref = 2;</code>
         * @return The bytes for ref.
         */
        public akka.protobufv3.internal.ByteString
            getRefBytes() {
          java.lang.Object ref = ref_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            ref_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string ref = 2;</code>
         * @param value The ref to set.
         * @return This builder for chaining.
         */
        public Builder setRef(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ref_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required string ref = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearRef() {
          ref_ = getDefaultInstance().getRef();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * <code>required string ref = 2;</code>
         * @param value The bytes for ref to set.
         * @return This builder for chaining.
         */
        public Builder setRefBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          ref_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.Unsubscribe)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.Unsubscribe)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Unsubscribe>
          PARSER = new akka.protobufv3.internal.AbstractParser<Unsubscribe>() {
        @java.lang.Override
        public Unsubscribe parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<Unsubscribe> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<Unsubscribe> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Unsubscribe getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface ChangedOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.Changed)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return Whether the key field is set.
       */
      boolean hasKey();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return The key.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder();
  
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
       * @return Whether the data field is set.
       */
      boolean hasData();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
       * @return The data.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getData();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getDataOrBuilder();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.Changed}
     */
    public static final class Changed extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.Changed)
        ChangedOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Changed.newBuilder() to construct.
      private Changed(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Changed() {
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Changed();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Changed_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Changed_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed.Builder.class);
      }
  
      private int bitField0_;
      public static final int KEY_FIELD_NUMBER = 1;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage key_;
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return Whether the key field is set.
       */
      @java.lang.Override
      public boolean hasKey() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       * @return The key.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey() {
        return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder() {
        return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
      }
  
      public static final int DATA_FIELD_NUMBER = 2;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage data_;
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
       * @return Whether the data field is set.
       */
      @java.lang.Override
      public boolean hasData() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
       * @return The data.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getData() {
        return data_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : data_;
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getDataOrBuilder() {
        return data_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : data_;
      }
  
      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 (!hasKey()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasData()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getKey().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getData().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getKey());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeMessage(2, getData());
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(1, getKey());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(2, getData());
        }
        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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed) obj;
  
        if (hasKey() != other.hasKey()) return false;
        if (hasKey()) {
          if (!getKey()
              .equals(other.getKey())) return false;
        }
        if (hasData() != other.hasData()) return false;
        if (hasData()) {
          if (!getData()
              .equals(other.getData())) 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 (hasKey()) {
          hash = (37 * hash) + KEY_FIELD_NUMBER;
          hash = (53 * hash) + getKey().hashCode();
        }
        if (hasData()) {
          hash = (37 * hash) + DATA_FIELD_NUMBER;
          hash = (53 * hash) + getData().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.Changed}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.Changed)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ChangedOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Changed_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Changed_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getKeyFieldBuilder();
            getDataFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          key_ = null;
          if (keyBuilder_ != null) {
            keyBuilder_.dispose();
            keyBuilder_ = null;
          }
          data_ = null;
          if (dataBuilder_ != null) {
            dataBuilder_.dispose();
            dataBuilder_ = null;
          }
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Changed_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.key_ = keyBuilder_ == null
                ? key_
                : keyBuilder_.build();
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.data_ = dataBuilder_ == null
                ? data_
                : dataBuilder_.build();
            to_bitField0_ |= 0x00000002;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed.getDefaultInstance()) return this;
          if (other.hasKey()) {
            mergeKey(other.getKey());
          }
          if (other.hasData()) {
            mergeData(other.getData());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasKey()) {
            return false;
          }
          if (!hasData()) {
            return false;
          }
          if (!getKey().isInitialized()) {
            return false;
          }
          if (!getData().isInitialized()) {
            return false;
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.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(
                      getKeyFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  input.readMessage(
                      getDataFieldBuilder().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 (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage key_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> keyBuilder_;
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         * @return Whether the key field is set.
         */
        public boolean hasKey() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         * @return The key.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getKey() {
          if (keyBuilder_ == null) {
            return key_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
          } else {
            return keyBuilder_.getMessage();
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder setKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (keyBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            key_ = value;
          } else {
            keyBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder setKey(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (keyBuilder_ == null) {
            key_ = builderForValue.build();
          } else {
            keyBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder mergeKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (keyBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0) &&
              key_ != null &&
              key_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              getKeyBuilder().mergeFrom(value);
            } else {
              key_ = value;
            }
          } else {
            keyBuilder_.mergeFrom(value);
          }
          if (key_ != null) {
            bitField0_ |= 0x00000001;
            onChanged();
          }
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public Builder clearKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          key_ = null;
          if (keyBuilder_ != null) {
            keyBuilder_.dispose();
            keyBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getKeyBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getKeyFieldBuilder().getBuilder();
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getKeyOrBuilder() {
          if (keyBuilder_ != null) {
            return keyBuilder_.getMessageOrBuilder();
          } else {
            return key_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : key_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage key = 1;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
            getKeyFieldBuilder() {
          if (keyBuilder_ == null) {
            keyBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    getKey(),
                    getParentForChildren(),
                    isClean());
            key_ = null;
          }
          return keyBuilder_;
        }
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage data_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> dataBuilder_;
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
         * @return Whether the data field is set.
         */
        public boolean hasData() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
         * @return The data.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getData() {
          if (dataBuilder_ == null) {
            return data_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : data_;
          } else {
            return dataBuilder_.getMessage();
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
         */
        public Builder setData(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (dataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            data_ = value;
          } else {
            dataBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
         */
        public Builder setData(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (dataBuilder_ == null) {
            data_ = builderForValue.build();
          } else {
            dataBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
         */
        public Builder mergeData(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (dataBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0) &&
              data_ != null &&
              data_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              getDataBuilder().mergeFrom(value);
            } else {
              data_ = value;
            }
          } else {
            dataBuilder_.mergeFrom(value);
          }
          if (data_ != null) {
            bitField0_ |= 0x00000002;
            onChanged();
          }
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
         */
        public Builder clearData() {
          bitField0_ = (bitField0_ & ~0x00000002);
          data_ = null;
          if (dataBuilder_ != null) {
            dataBuilder_.dispose();
            dataBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getDataBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getDataFieldBuilder().getBuilder();
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getDataOrBuilder() {
          if (dataBuilder_ != null) {
            return dataBuilder_.getMessageOrBuilder();
          } else {
            return data_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : data_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 2;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
            getDataFieldBuilder() {
          if (dataBuilder_ == null) {
            dataBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    getData(),
                    getParentForChildren(),
                    isClean());
            data_ = null;
          }
          return dataBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.Changed)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.Changed)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Changed>
          PARSER = new akka.protobufv3.internal.AbstractParser<Changed>() {
        @java.lang.Override
        public Changed parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<Changed> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<Changed> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Changed getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface WriteOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.Write)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required string key = 1;</code>
       * @return Whether the key field is set.
       */
      boolean hasKey();
      /**
       * <code>required string key = 1;</code>
       * @return The key.
       */
      java.lang.String getKey();
      /**
       * <code>required string key = 1;</code>
       * @return The bytes for key.
       */
      akka.protobufv3.internal.ByteString
          getKeyBytes();
  
      /**
       * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
       * @return Whether the envelope field is set.
       */
      boolean hasEnvelope();
      /**
       * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
       * @return The envelope.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope getEnvelope();
      /**
       * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder getEnvelopeOrBuilder();
  
      /**
       * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 3;</code>
       * @return Whether the fromNode field is set.
       */
      boolean hasFromNode();
      /**
       * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 3;</code>
       * @return The fromNode.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getFromNode();
      /**
       * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 3;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getFromNodeOrBuilder();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.Write}
     */
    public static final class Write extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.Write)
        WriteOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Write.newBuilder() to construct.
      private Write(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Write() {
        key_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Write();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Write_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Write_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write.Builder.class);
      }
  
      private int bitField0_;
      public static final int KEY_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object key_ = "";
      /**
       * <code>required string key = 1;</code>
       * @return Whether the key field is set.
       */
      @java.lang.Override
      public boolean hasKey() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string key = 1;</code>
       * @return The key.
       */
      @java.lang.Override
      public java.lang.String getKey() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          akka.protobufv3.internal.ByteString bs = 
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            key_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string key = 1;</code>
       * @return The bytes for key.
       */
      @java.lang.Override
      public akka.protobufv3.internal.ByteString
          getKeyBytes() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          key_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      public static final int ENVELOPE_FIELD_NUMBER = 2;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope envelope_;
      /**
       * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
       * @return Whether the envelope field is set.
       */
      @java.lang.Override
      public boolean hasEnvelope() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
       * @return The envelope.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope getEnvelope() {
        return envelope_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance() : envelope_;
      }
      /**
       * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder getEnvelopeOrBuilder() {
        return envelope_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance() : envelope_;
      }
  
      public static final int FROMNODE_FIELD_NUMBER = 3;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress fromNode_;
      /**
       * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 3;</code>
       * @return Whether the fromNode field is set.
       */
      @java.lang.Override
      public boolean hasFromNode() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 3;</code>
       * @return The fromNode.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getFromNode() {
        return fromNode_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : fromNode_;
      }
      /**
       * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 3;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getFromNodeOrBuilder() {
        return fromNode_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : fromNode_;
      }
  
      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 (!hasKey()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasEnvelope()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getEnvelope().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (hasFromNode()) {
          if (!getFromNode().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 1, key_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeMessage(2, getEnvelope());
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeMessage(3, getFromNode());
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(1, key_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(2, getEnvelope());
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(3, getFromNode());
        }
        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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write) obj;
  
        if (hasKey() != other.hasKey()) return false;
        if (hasKey()) {
          if (!getKey()
              .equals(other.getKey())) return false;
        }
        if (hasEnvelope() != other.hasEnvelope()) return false;
        if (hasEnvelope()) {
          if (!getEnvelope()
              .equals(other.getEnvelope())) return false;
        }
        if (hasFromNode() != other.hasFromNode()) return false;
        if (hasFromNode()) {
          if (!getFromNode()
              .equals(other.getFromNode())) 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 (hasKey()) {
          hash = (37 * hash) + KEY_FIELD_NUMBER;
          hash = (53 * hash) + getKey().hashCode();
        }
        if (hasEnvelope()) {
          hash = (37 * hash) + ENVELOPE_FIELD_NUMBER;
          hash = (53 * hash) + getEnvelope().hashCode();
        }
        if (hasFromNode()) {
          hash = (37 * hash) + FROMNODE_FIELD_NUMBER;
          hash = (53 * hash) + getFromNode().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.Write}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.Write)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.WriteOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Write_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Write_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getEnvelopeFieldBuilder();
            getFromNodeFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          key_ = "";
          envelope_ = null;
          if (envelopeBuilder_ != null) {
            envelopeBuilder_.dispose();
            envelopeBuilder_ = null;
          }
          fromNode_ = null;
          if (fromNodeBuilder_ != null) {
            fromNodeBuilder_.dispose();
            fromNodeBuilder_ = null;
          }
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Write_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.key_ = key_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.envelope_ = envelopeBuilder_ == null
                ? envelope_
                : envelopeBuilder_.build();
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.fromNode_ = fromNodeBuilder_ == null
                ? fromNode_
                : fromNodeBuilder_.build();
            to_bitField0_ |= 0x00000004;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write.getDefaultInstance()) return this;
          if (other.hasKey()) {
            key_ = other.key_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (other.hasEnvelope()) {
            mergeEnvelope(other.getEnvelope());
          }
          if (other.hasFromNode()) {
            mergeFromNode(other.getFromNode());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasKey()) {
            return false;
          }
          if (!hasEnvelope()) {
            return false;
          }
          if (!getEnvelope().isInitialized()) {
            return false;
          }
          if (hasFromNode()) {
            if (!getFromNode().isInitialized()) {
              return false;
            }
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.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: {
                  key_ = input.readBytes();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  input.readMessage(
                      getEnvelopeFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                case 26: {
                  input.readMessage(
                      getFromNodeFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000004;
                  break;
                } // case 26
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private java.lang.Object key_ = "";
        /**
         * <code>required string key = 1;</code>
         * @return Whether the key field is set.
         */
        public boolean hasKey() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required string key = 1;</code>
         * @return The key.
         */
        public java.lang.String getKey() {
          java.lang.Object ref = key_;
          if (!(ref instanceof java.lang.String)) {
            akka.protobufv3.internal.ByteString bs =
                (akka.protobufv3.internal.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              key_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string key = 1;</code>
         * @return The bytes for key.
         */
        public akka.protobufv3.internal.ByteString
            getKeyBytes() {
          java.lang.Object ref = key_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            key_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string key = 1;</code>
         * @param value The key to set.
         * @return This builder for chaining.
         */
        public Builder setKey(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          key_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required string key = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearKey() {
          key_ = getDefaultInstance().getKey();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>required string key = 1;</code>
         * @param value The bytes for key to set.
         * @return This builder for chaining.
         */
        public Builder setKeyBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          key_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope envelope_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder> envelopeBuilder_;
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         * @return Whether the envelope field is set.
         */
        public boolean hasEnvelope() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         * @return The envelope.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope getEnvelope() {
          if (envelopeBuilder_ == null) {
            return envelope_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance() : envelope_;
          } else {
            return envelopeBuilder_.getMessage();
          }
        }
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         */
        public Builder setEnvelope(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope value) {
          if (envelopeBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            envelope_ = value;
          } else {
            envelopeBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         */
        public Builder setEnvelope(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder builderForValue) {
          if (envelopeBuilder_ == null) {
            envelope_ = builderForValue.build();
          } else {
            envelopeBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         */
        public Builder mergeEnvelope(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope value) {
          if (envelopeBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0) &&
              envelope_ != null &&
              envelope_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance()) {
              getEnvelopeBuilder().mergeFrom(value);
            } else {
              envelope_ = value;
            }
          } else {
            envelopeBuilder_.mergeFrom(value);
          }
          if (envelope_ != null) {
            bitField0_ |= 0x00000002;
            onChanged();
          }
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         */
        public Builder clearEnvelope() {
          bitField0_ = (bitField0_ & ~0x00000002);
          envelope_ = null;
          if (envelopeBuilder_ != null) {
            envelopeBuilder_.dispose();
            envelopeBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder getEnvelopeBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getEnvelopeFieldBuilder().getBuilder();
        }
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder getEnvelopeOrBuilder() {
          if (envelopeBuilder_ != null) {
            return envelopeBuilder_.getMessageOrBuilder();
          } else {
            return envelope_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance() : envelope_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder> 
            getEnvelopeFieldBuilder() {
          if (envelopeBuilder_ == null) {
            envelopeBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder>(
                    getEnvelope(),
                    getParentForChildren(),
                    isClean());
            envelope_ = null;
          }
          return envelopeBuilder_;
        }
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress fromNode_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder> fromNodeBuilder_;
        /**
         * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 3;</code>
         * @return Whether the fromNode field is set.
         */
        public boolean hasFromNode() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 3;</code>
         * @return The fromNode.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getFromNode() {
          if (fromNodeBuilder_ == null) {
            return fromNode_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : fromNode_;
          } else {
            return fromNodeBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 3;</code>
         */
        public Builder setFromNode(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress value) {
          if (fromNodeBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            fromNode_ = value;
          } else {
            fromNodeBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 3;</code>
         */
        public Builder setFromNode(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder builderForValue) {
          if (fromNodeBuilder_ == null) {
            fromNode_ = builderForValue.build();
          } else {
            fromNodeBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 3;</code>
         */
        public Builder mergeFromNode(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress value) {
          if (fromNodeBuilder_ == null) {
            if (((bitField0_ & 0x00000004) != 0) &&
              fromNode_ != null &&
              fromNode_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance()) {
              getFromNodeBuilder().mergeFrom(value);
            } else {
              fromNode_ = value;
            }
          } else {
            fromNodeBuilder_.mergeFrom(value);
          }
          if (fromNode_ != null) {
            bitField0_ |= 0x00000004;
            onChanged();
          }
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 3;</code>
         */
        public Builder clearFromNode() {
          bitField0_ = (bitField0_ & ~0x00000004);
          fromNode_ = null;
          if (fromNodeBuilder_ != null) {
            fromNodeBuilder_.dispose();
            fromNodeBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 3;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder getFromNodeBuilder() {
          bitField0_ |= 0x00000004;
          onChanged();
          return getFromNodeFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 3;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getFromNodeOrBuilder() {
          if (fromNodeBuilder_ != null) {
            return fromNodeBuilder_.getMessageOrBuilder();
          } else {
            return fromNode_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : fromNode_;
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 3;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder> 
            getFromNodeFieldBuilder() {
          if (fromNodeBuilder_ == null) {
            fromNodeBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder>(
                    getFromNode(),
                    getParentForChildren(),
                    isClean());
            fromNode_ = null;
          }
          return fromNodeBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.Write)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.Write)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Write>
          PARSER = new akka.protobufv3.internal.AbstractParser<Write>() {
        @java.lang.Override
        public Write parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<Write> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<Write> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Write getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface EmptyOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.Empty)
        akka.protobufv3.internal.MessageOrBuilder {
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.Empty}
     */
    public static final class Empty extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.Empty)
        EmptyOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Empty.newBuilder() to construct.
      private Empty(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Empty() {
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Empty();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Empty_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Empty_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty.Builder.class);
      }
  
      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;
  
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty) obj;
  
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.Empty}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.Empty)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.EmptyOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Empty_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Empty_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty.newBuilder()
        private Builder() {
  
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
  
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Empty_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty(this);
          onBuilt();
          return result;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty.getDefaultInstance()) return this;
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.Empty)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.Empty)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Empty>
          PARSER = new akka.protobufv3.internal.AbstractParser<Empty>() {
        @java.lang.Override
        public Empty parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<Empty> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<Empty> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Empty getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface ReadOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.Read)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required string key = 1;</code>
       * @return Whether the key field is set.
       */
      boolean hasKey();
      /**
       * <code>required string key = 1;</code>
       * @return The key.
       */
      java.lang.String getKey();
      /**
       * <code>required string key = 1;</code>
       * @return The bytes for key.
       */
      akka.protobufv3.internal.ByteString
          getKeyBytes();
  
      /**
       * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 2;</code>
       * @return Whether the fromNode field is set.
       */
      boolean hasFromNode();
      /**
       * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 2;</code>
       * @return The fromNode.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getFromNode();
      /**
       * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getFromNodeOrBuilder();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.Read}
     */
    public static final class Read extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.Read)
        ReadOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Read.newBuilder() to construct.
      private Read(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Read() {
        key_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Read();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Read_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Read_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read.Builder.class);
      }
  
      private int bitField0_;
      public static final int KEY_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object key_ = "";
      /**
       * <code>required string key = 1;</code>
       * @return Whether the key field is set.
       */
      @java.lang.Override
      public boolean hasKey() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string key = 1;</code>
       * @return The key.
       */
      @java.lang.Override
      public java.lang.String getKey() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          akka.protobufv3.internal.ByteString bs = 
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            key_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string key = 1;</code>
       * @return The bytes for key.
       */
      @java.lang.Override
      public akka.protobufv3.internal.ByteString
          getKeyBytes() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          key_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      public static final int FROMNODE_FIELD_NUMBER = 2;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress fromNode_;
      /**
       * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 2;</code>
       * @return Whether the fromNode field is set.
       */
      @java.lang.Override
      public boolean hasFromNode() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 2;</code>
       * @return The fromNode.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getFromNode() {
        return fromNode_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : fromNode_;
      }
      /**
       * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 2;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getFromNodeOrBuilder() {
        return fromNode_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : fromNode_;
      }
  
      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 (!hasKey()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (hasFromNode()) {
          if (!getFromNode().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 1, key_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeMessage(2, getFromNode());
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(1, key_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(2, getFromNode());
        }
        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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read) obj;
  
        if (hasKey() != other.hasKey()) return false;
        if (hasKey()) {
          if (!getKey()
              .equals(other.getKey())) return false;
        }
        if (hasFromNode() != other.hasFromNode()) return false;
        if (hasFromNode()) {
          if (!getFromNode()
              .equals(other.getFromNode())) 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 (hasKey()) {
          hash = (37 * hash) + KEY_FIELD_NUMBER;
          hash = (53 * hash) + getKey().hashCode();
        }
        if (hasFromNode()) {
          hash = (37 * hash) + FROMNODE_FIELD_NUMBER;
          hash = (53 * hash) + getFromNode().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.Read}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.Read)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Read_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Read_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getFromNodeFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          key_ = "";
          fromNode_ = null;
          if (fromNodeBuilder_ != null) {
            fromNodeBuilder_.dispose();
            fromNodeBuilder_ = null;
          }
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Read_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.key_ = key_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.fromNode_ = fromNodeBuilder_ == null
                ? fromNode_
                : fromNodeBuilder_.build();
            to_bitField0_ |= 0x00000002;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read.getDefaultInstance()) return this;
          if (other.hasKey()) {
            key_ = other.key_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (other.hasFromNode()) {
            mergeFromNode(other.getFromNode());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasKey()) {
            return false;
          }
          if (hasFromNode()) {
            if (!getFromNode().isInitialized()) {
              return false;
            }
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.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: {
                  key_ = input.readBytes();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  input.readMessage(
                      getFromNodeFieldBuilder().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 (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private java.lang.Object key_ = "";
        /**
         * <code>required string key = 1;</code>
         * @return Whether the key field is set.
         */
        public boolean hasKey() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required string key = 1;</code>
         * @return The key.
         */
        public java.lang.String getKey() {
          java.lang.Object ref = key_;
          if (!(ref instanceof java.lang.String)) {
            akka.protobufv3.internal.ByteString bs =
                (akka.protobufv3.internal.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              key_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string key = 1;</code>
         * @return The bytes for key.
         */
        public akka.protobufv3.internal.ByteString
            getKeyBytes() {
          java.lang.Object ref = key_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            key_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string key = 1;</code>
         * @param value The key to set.
         * @return This builder for chaining.
         */
        public Builder setKey(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          key_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required string key = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearKey() {
          key_ = getDefaultInstance().getKey();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>required string key = 1;</code>
         * @param value The bytes for key to set.
         * @return This builder for chaining.
         */
        public Builder setKeyBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          key_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress fromNode_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder> fromNodeBuilder_;
        /**
         * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 2;</code>
         * @return Whether the fromNode field is set.
         */
        public boolean hasFromNode() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 2;</code>
         * @return The fromNode.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getFromNode() {
          if (fromNodeBuilder_ == null) {
            return fromNode_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : fromNode_;
          } else {
            return fromNodeBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 2;</code>
         */
        public Builder setFromNode(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress value) {
          if (fromNodeBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            fromNode_ = value;
          } else {
            fromNodeBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 2;</code>
         */
        public Builder setFromNode(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder builderForValue) {
          if (fromNodeBuilder_ == null) {
            fromNode_ = builderForValue.build();
          } else {
            fromNodeBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 2;</code>
         */
        public Builder mergeFromNode(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress value) {
          if (fromNodeBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0) &&
              fromNode_ != null &&
              fromNode_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance()) {
              getFromNodeBuilder().mergeFrom(value);
            } else {
              fromNode_ = value;
            }
          } else {
            fromNodeBuilder_.mergeFrom(value);
          }
          if (fromNode_ != null) {
            bitField0_ |= 0x00000002;
            onChanged();
          }
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 2;</code>
         */
        public Builder clearFromNode() {
          bitField0_ = (bitField0_ & ~0x00000002);
          fromNode_ = null;
          if (fromNodeBuilder_ != null) {
            fromNodeBuilder_.dispose();
            fromNodeBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder getFromNodeBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getFromNodeFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getFromNodeOrBuilder() {
          if (fromNodeBuilder_ != null) {
            return fromNodeBuilder_.getMessageOrBuilder();
          } else {
            return fromNode_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : fromNode_;
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.UniqueAddress fromNode = 2;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder> 
            getFromNodeFieldBuilder() {
          if (fromNodeBuilder_ == null) {
            fromNodeBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder>(
                    getFromNode(),
                    getParentForChildren(),
                    isClean());
            fromNode_ = null;
          }
          return fromNodeBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.Read)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.Read)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Read>
          PARSER = new akka.protobufv3.internal.AbstractParser<Read>() {
        @java.lang.Override
        public Read parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<Read> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<Read> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Read getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface ReadResultOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.ReadResult)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>optional .akka.cluster.ddata.DataEnvelope envelope = 1;</code>
       * @return Whether the envelope field is set.
       */
      boolean hasEnvelope();
      /**
       * <code>optional .akka.cluster.ddata.DataEnvelope envelope = 1;</code>
       * @return The envelope.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope getEnvelope();
      /**
       * <code>optional .akka.cluster.ddata.DataEnvelope envelope = 1;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder getEnvelopeOrBuilder();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.ReadResult}
     */
    public static final class ReadResult extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.ReadResult)
        ReadResultOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use ReadResult.newBuilder() to construct.
      private ReadResult(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private ReadResult() {
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new ReadResult();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_ReadResult_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_ReadResult_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult.Builder.class);
      }
  
      private int bitField0_;
      public static final int ENVELOPE_FIELD_NUMBER = 1;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope envelope_;
      /**
       * <code>optional .akka.cluster.ddata.DataEnvelope envelope = 1;</code>
       * @return Whether the envelope field is set.
       */
      @java.lang.Override
      public boolean hasEnvelope() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>optional .akka.cluster.ddata.DataEnvelope envelope = 1;</code>
       * @return The envelope.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope getEnvelope() {
        return envelope_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance() : envelope_;
      }
      /**
       * <code>optional .akka.cluster.ddata.DataEnvelope envelope = 1;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder getEnvelopeOrBuilder() {
        return envelope_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance() : envelope_;
      }
  
      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 (hasEnvelope()) {
          if (!getEnvelope().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getEnvelope());
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(1, getEnvelope());
        }
        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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult) obj;
  
        if (hasEnvelope() != other.hasEnvelope()) return false;
        if (hasEnvelope()) {
          if (!getEnvelope()
              .equals(other.getEnvelope())) 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 (hasEnvelope()) {
          hash = (37 * hash) + ENVELOPE_FIELD_NUMBER;
          hash = (53 * hash) + getEnvelope().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.ReadResult}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.ReadResult)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResultOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_ReadResult_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_ReadResult_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getEnvelopeFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          envelope_ = null;
          if (envelopeBuilder_ != null) {
            envelopeBuilder_.dispose();
            envelopeBuilder_ = null;
          }
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_ReadResult_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.envelope_ = envelopeBuilder_ == null
                ? envelope_
                : envelopeBuilder_.build();
            to_bitField0_ |= 0x00000001;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult.getDefaultInstance()) return this;
          if (other.hasEnvelope()) {
            mergeEnvelope(other.getEnvelope());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (hasEnvelope()) {
            if (!getEnvelope().isInitialized()) {
              return false;
            }
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.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(
                      getEnvelopeFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope envelope_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder> envelopeBuilder_;
        /**
         * <code>optional .akka.cluster.ddata.DataEnvelope envelope = 1;</code>
         * @return Whether the envelope field is set.
         */
        public boolean hasEnvelope() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>optional .akka.cluster.ddata.DataEnvelope envelope = 1;</code>
         * @return The envelope.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope getEnvelope() {
          if (envelopeBuilder_ == null) {
            return envelope_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance() : envelope_;
          } else {
            return envelopeBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.DataEnvelope envelope = 1;</code>
         */
        public Builder setEnvelope(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope value) {
          if (envelopeBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            envelope_ = value;
          } else {
            envelopeBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.DataEnvelope envelope = 1;</code>
         */
        public Builder setEnvelope(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder builderForValue) {
          if (envelopeBuilder_ == null) {
            envelope_ = builderForValue.build();
          } else {
            envelopeBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.DataEnvelope envelope = 1;</code>
         */
        public Builder mergeEnvelope(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope value) {
          if (envelopeBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0) &&
              envelope_ != null &&
              envelope_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance()) {
              getEnvelopeBuilder().mergeFrom(value);
            } else {
              envelope_ = value;
            }
          } else {
            envelopeBuilder_.mergeFrom(value);
          }
          if (envelope_ != null) {
            bitField0_ |= 0x00000001;
            onChanged();
          }
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.DataEnvelope envelope = 1;</code>
         */
        public Builder clearEnvelope() {
          bitField0_ = (bitField0_ & ~0x00000001);
          envelope_ = null;
          if (envelopeBuilder_ != null) {
            envelopeBuilder_.dispose();
            envelopeBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.DataEnvelope envelope = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder getEnvelopeBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getEnvelopeFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .akka.cluster.ddata.DataEnvelope envelope = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder getEnvelopeOrBuilder() {
          if (envelopeBuilder_ != null) {
            return envelopeBuilder_.getMessageOrBuilder();
          } else {
            return envelope_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance() : envelope_;
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.DataEnvelope envelope = 1;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder> 
            getEnvelopeFieldBuilder() {
          if (envelopeBuilder_ == null) {
            envelopeBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder>(
                    getEnvelope(),
                    getParentForChildren(),
                    isClean());
            envelope_ = null;
          }
          return envelopeBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.ReadResult)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ReadResult)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<ReadResult>
          PARSER = new akka.protobufv3.internal.AbstractParser<ReadResult>() {
        @java.lang.Override
        public ReadResult parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<ReadResult> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<ReadResult> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.ReadResult getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface DataEnvelopeOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.DataEnvelope)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
       * @return Whether the data field is set.
       */
      boolean hasData();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
       * @return The data.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getData();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getDataOrBuilder();
  
      /**
       * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
       */
      java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry> 
          getPruningList();
      /**
       * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry getPruning(int index);
      /**
       * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
       */
      int getPruningCount();
      /**
       * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
       */
      java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntryOrBuilder> 
          getPruningOrBuilderList();
      /**
       * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntryOrBuilder getPruningOrBuilder(
          int index);
  
      /**
       * <code>optional .akka.cluster.ddata.VersionVector deltaVersions = 3;</code>
       * @return Whether the deltaVersions field is set.
       */
      boolean hasDeltaVersions();
      /**
       * <code>optional .akka.cluster.ddata.VersionVector deltaVersions = 3;</code>
       * @return The deltaVersions.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector getDeltaVersions();
      /**
       * <code>optional .akka.cluster.ddata.VersionVector deltaVersions = 3;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder getDeltaVersionsOrBuilder();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.DataEnvelope}
     */
    public static final class DataEnvelope extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.DataEnvelope)
        DataEnvelopeOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use DataEnvelope.newBuilder() to construct.
      private DataEnvelope(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private DataEnvelope() {
        pruning_ = java.util.Collections.emptyList();
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new DataEnvelope();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DataEnvelope_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DataEnvelope_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder.class);
      }
  
      public interface PruningEntryOrBuilder extends
          // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.DataEnvelope.PruningEntry)
          akka.protobufv3.internal.MessageOrBuilder {
  
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress removedAddress = 1;</code>
         * @return Whether the removedAddress field is set.
         */
        boolean hasRemovedAddress();
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress removedAddress = 1;</code>
         * @return The removedAddress.
         */
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getRemovedAddress();
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress removedAddress = 1;</code>
         */
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getRemovedAddressOrBuilder();
  
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress ownerAddress = 2;</code>
         * @return Whether the ownerAddress field is set.
         */
        boolean hasOwnerAddress();
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress ownerAddress = 2;</code>
         * @return The ownerAddress.
         */
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getOwnerAddress();
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress ownerAddress = 2;</code>
         */
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getOwnerAddressOrBuilder();
  
        /**
         * <code>required bool performed = 3;</code>
         * @return Whether the performed field is set.
         */
        boolean hasPerformed();
        /**
         * <code>required bool performed = 3;</code>
         * @return The performed.
         */
        boolean getPerformed();
  
        /**
         * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
         */
        java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address> 
            getSeenList();
        /**
         * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
         */
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address getSeen(int index);
        /**
         * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
         */
        int getSeenCount();
        /**
         * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
         */
        java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.AddressOrBuilder> 
            getSeenOrBuilderList();
        /**
         * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
         */
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.AddressOrBuilder getSeenOrBuilder(
            int index);
  
        /**
         * <code>optional sint64 obsoleteTime = 5;</code>
         * @return Whether the obsoleteTime field is set.
         */
        boolean hasObsoleteTime();
        /**
         * <code>optional sint64 obsoleteTime = 5;</code>
         * @return The obsoleteTime.
         */
        long getObsoleteTime();
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.DataEnvelope.PruningEntry}
       */
      public static final class PruningEntry extends
          akka.protobufv3.internal.GeneratedMessageV3 implements
          // @@protoc_insertion_point(message_implements:akka.cluster.ddata.DataEnvelope.PruningEntry)
          PruningEntryOrBuilder {
      private static final long serialVersionUID = 0L;
        // Use PruningEntry.newBuilder() to construct.
        private PruningEntry(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
          super(builder);
        }
        private PruningEntry() {
          seen_ = java.util.Collections.emptyList();
        }
  
        @java.lang.Override
        @SuppressWarnings({"unused"})
        protected java.lang.Object newInstance(
            akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
          return new PruningEntry();
        }
  
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DataEnvelope_PruningEntry_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DataEnvelope_PruningEntry_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder.class);
        }
  
        private int bitField0_;
        public static final int REMOVEDADDRESS_FIELD_NUMBER = 1;
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress removedAddress_;
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress removedAddress = 1;</code>
         * @return Whether the removedAddress field is set.
         */
        @java.lang.Override
        public boolean hasRemovedAddress() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress removedAddress = 1;</code>
         * @return The removedAddress.
         */
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getRemovedAddress() {
          return removedAddress_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : removedAddress_;
        }
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress removedAddress = 1;</code>
         */
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getRemovedAddressOrBuilder() {
          return removedAddress_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : removedAddress_;
        }
  
        public static final int OWNERADDRESS_FIELD_NUMBER = 2;
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress ownerAddress_;
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress ownerAddress = 2;</code>
         * @return Whether the ownerAddress field is set.
         */
        @java.lang.Override
        public boolean hasOwnerAddress() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress ownerAddress = 2;</code>
         * @return The ownerAddress.
         */
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getOwnerAddress() {
          return ownerAddress_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : ownerAddress_;
        }
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress ownerAddress = 2;</code>
         */
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getOwnerAddressOrBuilder() {
          return ownerAddress_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : ownerAddress_;
        }
  
        public static final int PERFORMED_FIELD_NUMBER = 3;
        private boolean performed_ = false;
        /**
         * <code>required bool performed = 3;</code>
         * @return Whether the performed field is set.
         */
        @java.lang.Override
        public boolean hasPerformed() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>required bool performed = 3;</code>
         * @return The performed.
         */
        @java.lang.Override
        public boolean getPerformed() {
          return performed_;
        }
  
        public static final int SEEN_FIELD_NUMBER = 4;
        @SuppressWarnings("serial")
        private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address> seen_;
        /**
         * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
         */
        @java.lang.Override
        public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address> getSeenList() {
          return seen_;
        }
        /**
         * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
         */
        @java.lang.Override
        public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.AddressOrBuilder> 
            getSeenOrBuilderList() {
          return seen_;
        }
        /**
         * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
         */
        @java.lang.Override
        public int getSeenCount() {
          return seen_.size();
        }
        /**
         * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
         */
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address getSeen(int index) {
          return seen_.get(index);
        }
        /**
         * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
         */
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.AddressOrBuilder getSeenOrBuilder(
            int index) {
          return seen_.get(index);
        }
  
        public static final int OBSOLETETIME_FIELD_NUMBER = 5;
        private long obsoleteTime_ = 0L;
        /**
         * <code>optional sint64 obsoleteTime = 5;</code>
         * @return Whether the obsoleteTime field is set.
         */
        @java.lang.Override
        public boolean hasObsoleteTime() {
          return ((bitField0_ & 0x00000008) != 0);
        }
        /**
         * <code>optional sint64 obsoleteTime = 5;</code>
         * @return The obsoleteTime.
         */
        @java.lang.Override
        public long getObsoleteTime() {
          return obsoleteTime_;
        }
  
        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 (!hasRemovedAddress()) {
            memoizedIsInitialized = 0;
            return false;
          }
          if (!hasOwnerAddress()) {
            memoizedIsInitialized = 0;
            return false;
          }
          if (!hasPerformed()) {
            memoizedIsInitialized = 0;
            return false;
          }
          if (!getRemovedAddress().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
          if (!getOwnerAddress().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
          for (int i = 0; i < getSeenCount(); i++) {
            if (!getSeen(i).isInitialized()) {
              memoizedIsInitialized = 0;
              return false;
            }
          }
          memoizedIsInitialized = 1;
          return true;
        }
  
        @java.lang.Override
        public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                            throws java.io.IOException {
          if (((bitField0_ & 0x00000001) != 0)) {
            output.writeMessage(1, getRemovedAddress());
          }
          if (((bitField0_ & 0x00000002) != 0)) {
            output.writeMessage(2, getOwnerAddress());
          }
          if (((bitField0_ & 0x00000004) != 0)) {
            output.writeBool(3, performed_);
          }
          for (int i = 0; i < seen_.size(); i++) {
            output.writeMessage(4, seen_.get(i));
          }
          if (((bitField0_ & 0x00000008) != 0)) {
            output.writeSInt64(5, obsoleteTime_);
          }
          getUnknownFields().writeTo(output);
        }
  
        @java.lang.Override
        public int getSerializedSize() {
          int size = memoizedSize;
          if (size != -1) return size;
  
          size = 0;
          if (((bitField0_ & 0x00000001) != 0)) {
            size += akka.protobufv3.internal.CodedOutputStream
              .computeMessageSize(1, getRemovedAddress());
          }
          if (((bitField0_ & 0x00000002) != 0)) {
            size += akka.protobufv3.internal.CodedOutputStream
              .computeMessageSize(2, getOwnerAddress());
          }
          if (((bitField0_ & 0x00000004) != 0)) {
            size += akka.protobufv3.internal.CodedOutputStream
              .computeBoolSize(3, performed_);
          }
          for (int i = 0; i < seen_.size(); i++) {
            size += akka.protobufv3.internal.CodedOutputStream
              .computeMessageSize(4, seen_.get(i));
          }
          if (((bitField0_ & 0x00000008) != 0)) {
            size += akka.protobufv3.internal.CodedOutputStream
              .computeSInt64Size(5, obsoleteTime_);
          }
          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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry)) {
            return super.equals(obj);
          }
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry) obj;
  
          if (hasRemovedAddress() != other.hasRemovedAddress()) return false;
          if (hasRemovedAddress()) {
            if (!getRemovedAddress()
                .equals(other.getRemovedAddress())) return false;
          }
          if (hasOwnerAddress() != other.hasOwnerAddress()) return false;
          if (hasOwnerAddress()) {
            if (!getOwnerAddress()
                .equals(other.getOwnerAddress())) return false;
          }
          if (hasPerformed() != other.hasPerformed()) return false;
          if (hasPerformed()) {
            if (getPerformed()
                != other.getPerformed()) return false;
          }
          if (!getSeenList()
              .equals(other.getSeenList())) return false;
          if (hasObsoleteTime() != other.hasObsoleteTime()) return false;
          if (hasObsoleteTime()) {
            if (getObsoleteTime()
                != other.getObsoleteTime()) 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 (hasRemovedAddress()) {
            hash = (37 * hash) + REMOVEDADDRESS_FIELD_NUMBER;
            hash = (53 * hash) + getRemovedAddress().hashCode();
          }
          if (hasOwnerAddress()) {
            hash = (37 * hash) + OWNERADDRESS_FIELD_NUMBER;
            hash = (53 * hash) + getOwnerAddress().hashCode();
          }
          if (hasPerformed()) {
            hash = (37 * hash) + PERFORMED_FIELD_NUMBER;
            hash = (53 * hash) + akka.protobufv3.internal.Internal.hashBoolean(
                getPerformed());
          }
          if (getSeenCount() > 0) {
            hash = (37 * hash) + SEEN_FIELD_NUMBER;
            hash = (53 * hash) + getSeenList().hashCode();
          }
          if (hasObsoleteTime()) {
            hash = (37 * hash) + OBSOLETETIME_FIELD_NUMBER;
            hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
                getObsoleteTime());
          }
          hash = (29 * hash) + getUnknownFields().hashCode();
          memoizedHashCode = hash;
          return hash;
        }
  
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry parseFrom(
            java.nio.ByteBuffer data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry parseFrom(
            java.nio.ByteBuffer data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry parseFrom(
            akka.protobufv3.internal.ByteString data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry parseFrom(
            akka.protobufv3.internal.ByteString data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry parseFrom(byte[] data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry parseFrom(
            byte[] data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry parseFrom(
            java.io.InputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }
  
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input);
        }
  
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry parseDelimitedFrom(
            java.io.InputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry parseFrom(
            akka.protobufv3.internal.CodedInputStream input)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry parseFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry 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(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        /**
         * Protobuf type {@code akka.cluster.ddata.DataEnvelope.PruningEntry}
         */
        public static final class Builder extends
            akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
            // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.DataEnvelope.PruningEntry)
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntryOrBuilder {
          public static final akka.protobufv3.internal.Descriptors.Descriptor
              getDescriptor() {
            return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DataEnvelope_PruningEntry_descriptor;
          }
  
          @java.lang.Override
          protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DataEnvelope_PruningEntry_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder.class);
          }
  
          // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }
  
          private Builder(
              akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
            super(parent);
            maybeForceBuilderInitialization();
          }
          private void maybeForceBuilderInitialization() {
            if (akka.protobufv3.internal.GeneratedMessageV3
                    .alwaysUseFieldBuilders) {
              getRemovedAddressFieldBuilder();
              getOwnerAddressFieldBuilder();
              getSeenFieldBuilder();
            }
          }
          @java.lang.Override
          public Builder clear() {
            super.clear();
            bitField0_ = 0;
            removedAddress_ = null;
            if (removedAddressBuilder_ != null) {
              removedAddressBuilder_.dispose();
              removedAddressBuilder_ = null;
            }
            ownerAddress_ = null;
            if (ownerAddressBuilder_ != null) {
              ownerAddressBuilder_.dispose();
              ownerAddressBuilder_ = null;
            }
            performed_ = false;
            if (seenBuilder_ == null) {
              seen_ = java.util.Collections.emptyList();
            } else {
              seen_ = null;
              seenBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000008);
            obsoleteTime_ = 0L;
            return this;
          }
  
          @java.lang.Override
          public akka.protobufv3.internal.Descriptors.Descriptor
              getDescriptorForType() {
            return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DataEnvelope_PruningEntry_descriptor;
          }
  
          @java.lang.Override
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry getDefaultInstanceForType() {
            return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.getDefaultInstance();
          }
  
          @java.lang.Override
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry build() {
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }
  
          @java.lang.Override
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry buildPartial() {
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry(this);
            buildPartialRepeatedFields(result);
            if (bitField0_ != 0) { buildPartial0(result); }
            onBuilt();
            return result;
          }
  
          private void buildPartialRepeatedFields(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry result) {
            if (seenBuilder_ == null) {
              if (((bitField0_ & 0x00000008) != 0)) {
                seen_ = java.util.Collections.unmodifiableList(seen_);
                bitField0_ = (bitField0_ & ~0x00000008);
              }
              result.seen_ = seen_;
            } else {
              result.seen_ = seenBuilder_.build();
            }
          }
  
          private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry result) {
            int from_bitField0_ = bitField0_;
            int to_bitField0_ = 0;
            if (((from_bitField0_ & 0x00000001) != 0)) {
              result.removedAddress_ = removedAddressBuilder_ == null
                  ? removedAddress_
                  : removedAddressBuilder_.build();
              to_bitField0_ |= 0x00000001;
            }
            if (((from_bitField0_ & 0x00000002) != 0)) {
              result.ownerAddress_ = ownerAddressBuilder_ == null
                  ? ownerAddress_
                  : ownerAddressBuilder_.build();
              to_bitField0_ |= 0x00000002;
            }
            if (((from_bitField0_ & 0x00000004) != 0)) {
              result.performed_ = performed_;
              to_bitField0_ |= 0x00000004;
            }
            if (((from_bitField0_ & 0x00000010) != 0)) {
              result.obsoleteTime_ = obsoleteTime_;
              to_bitField0_ |= 0x00000008;
            }
            result.bitField0_ |= to_bitField0_;
          }
  
          @java.lang.Override
          public Builder clone() {
            return super.clone();
          }
          @java.lang.Override
          public Builder setField(
              akka.protobufv3.internal.Descriptors.FieldDescriptor field,
              java.lang.Object value) {
            return super.setField(field, value);
          }
          @java.lang.Override
          public Builder clearField(
              akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
            return super.clearField(field);
          }
          @java.lang.Override
          public Builder clearOneof(
              akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
            return super.clearOneof(oneof);
          }
          @java.lang.Override
          public Builder setRepeatedField(
              akka.protobufv3.internal.Descriptors.FieldDescriptor field,
              int index, java.lang.Object value) {
            return super.setRepeatedField(field, index, value);
          }
          @java.lang.Override
          public Builder addRepeatedField(
              akka.protobufv3.internal.Descriptors.FieldDescriptor field,
              java.lang.Object value) {
            return super.addRepeatedField(field, value);
          }
          @java.lang.Override
          public Builder mergeFrom(akka.protobufv3.internal.Message other) {
            if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry) {
              return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }
  
          public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry other) {
            if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.getDefaultInstance()) return this;
            if (other.hasRemovedAddress()) {
              mergeRemovedAddress(other.getRemovedAddress());
            }
            if (other.hasOwnerAddress()) {
              mergeOwnerAddress(other.getOwnerAddress());
            }
            if (other.hasPerformed()) {
              setPerformed(other.getPerformed());
            }
            if (seenBuilder_ == null) {
              if (!other.seen_.isEmpty()) {
                if (seen_.isEmpty()) {
                  seen_ = other.seen_;
                  bitField0_ = (bitField0_ & ~0x00000008);
                } else {
                  ensureSeenIsMutable();
                  seen_.addAll(other.seen_);
                }
                onChanged();
              }
            } else {
              if (!other.seen_.isEmpty()) {
                if (seenBuilder_.isEmpty()) {
                  seenBuilder_.dispose();
                  seenBuilder_ = null;
                  seen_ = other.seen_;
                  bitField0_ = (bitField0_ & ~0x00000008);
                  seenBuilder_ = 
                    akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders ?
                       getSeenFieldBuilder() : null;
                } else {
                  seenBuilder_.addAllMessages(other.seen_);
                }
              }
            }
            if (other.hasObsoleteTime()) {
              setObsoleteTime(other.getObsoleteTime());
            }
            this.mergeUnknownFields(other.getUnknownFields());
            onChanged();
            return this;
          }
  
          @java.lang.Override
          public final boolean isInitialized() {
            if (!hasRemovedAddress()) {
              return false;
            }
            if (!hasOwnerAddress()) {
              return false;
            }
            if (!hasPerformed()) {
              return false;
            }
            if (!getRemovedAddress().isInitialized()) {
              return false;
            }
            if (!getOwnerAddress().isInitialized()) {
              return false;
            }
            for (int i = 0; i < getSeenCount(); i++) {
              if (!getSeen(i).isInitialized()) {
                return false;
              }
            }
            return true;
          }
  
          @java.lang.Override
          public Builder mergeFrom(
              akka.protobufv3.internal.CodedInputStream input,
              akka.protobufv3.internal.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(
                        getRemovedAddressFieldBuilder().getBuilder(),
                        extensionRegistry);
                    bitField0_ |= 0x00000001;
                    break;
                  } // case 10
                  case 18: {
                    input.readMessage(
                        getOwnerAddressFieldBuilder().getBuilder(),
                        extensionRegistry);
                    bitField0_ |= 0x00000002;
                    break;
                  } // case 18
                  case 24: {
                    performed_ = input.readBool();
                    bitField0_ |= 0x00000004;
                    break;
                  } // case 24
                  case 34: {
                    akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address m =
                        input.readMessage(
                            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.PARSER,
                            extensionRegistry);
                    if (seenBuilder_ == null) {
                      ensureSeenIsMutable();
                      seen_.add(m);
                    } else {
                      seenBuilder_.addMessage(m);
                    }
                    break;
                  } // case 34
                  case 40: {
                    obsoleteTime_ = input.readSInt64();
                    bitField0_ |= 0x00000010;
                    break;
                  } // case 40
                  default: {
                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                      done = true; // was an endgroup tag
                    }
                    break;
                  } // default:
                } // switch (tag)
              } // while (!done)
            } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
              throw e.unwrapIOException();
            } finally {
              onChanged();
            } // finally
            return this;
          }
          private int bitField0_;
  
          private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress removedAddress_;
          private akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder> removedAddressBuilder_;
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress removedAddress = 1;</code>
           * @return Whether the removedAddress field is set.
           */
          public boolean hasRemovedAddress() {
            return ((bitField0_ & 0x00000001) != 0);
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress removedAddress = 1;</code>
           * @return The removedAddress.
           */
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getRemovedAddress() {
            if (removedAddressBuilder_ == null) {
              return removedAddress_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : removedAddress_;
            } else {
              return removedAddressBuilder_.getMessage();
            }
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress removedAddress = 1;</code>
           */
          public Builder setRemovedAddress(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress value) {
            if (removedAddressBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              removedAddress_ = value;
            } else {
              removedAddressBuilder_.setMessage(value);
            }
            bitField0_ |= 0x00000001;
            onChanged();
            return this;
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress removedAddress = 1;</code>
           */
          public Builder setRemovedAddress(
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder builderForValue) {
            if (removedAddressBuilder_ == null) {
              removedAddress_ = builderForValue.build();
            } else {
              removedAddressBuilder_.setMessage(builderForValue.build());
            }
            bitField0_ |= 0x00000001;
            onChanged();
            return this;
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress removedAddress = 1;</code>
           */
          public Builder mergeRemovedAddress(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress value) {
            if (removedAddressBuilder_ == null) {
              if (((bitField0_ & 0x00000001) != 0) &&
                removedAddress_ != null &&
                removedAddress_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance()) {
                getRemovedAddressBuilder().mergeFrom(value);
              } else {
                removedAddress_ = value;
              }
            } else {
              removedAddressBuilder_.mergeFrom(value);
            }
            if (removedAddress_ != null) {
              bitField0_ |= 0x00000001;
              onChanged();
            }
            return this;
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress removedAddress = 1;</code>
           */
          public Builder clearRemovedAddress() {
            bitField0_ = (bitField0_ & ~0x00000001);
            removedAddress_ = null;
            if (removedAddressBuilder_ != null) {
              removedAddressBuilder_.dispose();
              removedAddressBuilder_ = null;
            }
            onChanged();
            return this;
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress removedAddress = 1;</code>
           */
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder getRemovedAddressBuilder() {
            bitField0_ |= 0x00000001;
            onChanged();
            return getRemovedAddressFieldBuilder().getBuilder();
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress removedAddress = 1;</code>
           */
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getRemovedAddressOrBuilder() {
            if (removedAddressBuilder_ != null) {
              return removedAddressBuilder_.getMessageOrBuilder();
            } else {
              return removedAddress_ == null ?
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : removedAddress_;
            }
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress removedAddress = 1;</code>
           */
          private akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder> 
              getRemovedAddressFieldBuilder() {
            if (removedAddressBuilder_ == null) {
              removedAddressBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder>(
                      getRemovedAddress(),
                      getParentForChildren(),
                      isClean());
              removedAddress_ = null;
            }
            return removedAddressBuilder_;
          }
  
          private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress ownerAddress_;
          private akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder> ownerAddressBuilder_;
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress ownerAddress = 2;</code>
           * @return Whether the ownerAddress field is set.
           */
          public boolean hasOwnerAddress() {
            return ((bitField0_ & 0x00000002) != 0);
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress ownerAddress = 2;</code>
           * @return The ownerAddress.
           */
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getOwnerAddress() {
            if (ownerAddressBuilder_ == null) {
              return ownerAddress_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : ownerAddress_;
            } else {
              return ownerAddressBuilder_.getMessage();
            }
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress ownerAddress = 2;</code>
           */
          public Builder setOwnerAddress(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress value) {
            if (ownerAddressBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              ownerAddress_ = value;
            } else {
              ownerAddressBuilder_.setMessage(value);
            }
            bitField0_ |= 0x00000002;
            onChanged();
            return this;
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress ownerAddress = 2;</code>
           */
          public Builder setOwnerAddress(
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder builderForValue) {
            if (ownerAddressBuilder_ == null) {
              ownerAddress_ = builderForValue.build();
            } else {
              ownerAddressBuilder_.setMessage(builderForValue.build());
            }
            bitField0_ |= 0x00000002;
            onChanged();
            return this;
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress ownerAddress = 2;</code>
           */
          public Builder mergeOwnerAddress(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress value) {
            if (ownerAddressBuilder_ == null) {
              if (((bitField0_ & 0x00000002) != 0) &&
                ownerAddress_ != null &&
                ownerAddress_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance()) {
                getOwnerAddressBuilder().mergeFrom(value);
              } else {
                ownerAddress_ = value;
              }
            } else {
              ownerAddressBuilder_.mergeFrom(value);
            }
            if (ownerAddress_ != null) {
              bitField0_ |= 0x00000002;
              onChanged();
            }
            return this;
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress ownerAddress = 2;</code>
           */
          public Builder clearOwnerAddress() {
            bitField0_ = (bitField0_ & ~0x00000002);
            ownerAddress_ = null;
            if (ownerAddressBuilder_ != null) {
              ownerAddressBuilder_.dispose();
              ownerAddressBuilder_ = null;
            }
            onChanged();
            return this;
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress ownerAddress = 2;</code>
           */
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder getOwnerAddressBuilder() {
            bitField0_ |= 0x00000002;
            onChanged();
            return getOwnerAddressFieldBuilder().getBuilder();
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress ownerAddress = 2;</code>
           */
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getOwnerAddressOrBuilder() {
            if (ownerAddressBuilder_ != null) {
              return ownerAddressBuilder_.getMessageOrBuilder();
            } else {
              return ownerAddress_ == null ?
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : ownerAddress_;
            }
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress ownerAddress = 2;</code>
           */
          private akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder> 
              getOwnerAddressFieldBuilder() {
            if (ownerAddressBuilder_ == null) {
              ownerAddressBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder>(
                      getOwnerAddress(),
                      getParentForChildren(),
                      isClean());
              ownerAddress_ = null;
            }
            return ownerAddressBuilder_;
          }
  
          private boolean performed_ ;
          /**
           * <code>required bool performed = 3;</code>
           * @return Whether the performed field is set.
           */
          @java.lang.Override
          public boolean hasPerformed() {
            return ((bitField0_ & 0x00000004) != 0);
          }
          /**
           * <code>required bool performed = 3;</code>
           * @return The performed.
           */
          @java.lang.Override
          public boolean getPerformed() {
            return performed_;
          }
          /**
           * <code>required bool performed = 3;</code>
           * @param value The performed to set.
           * @return This builder for chaining.
           */
          public Builder setPerformed(boolean value) {
  
            performed_ = value;
            bitField0_ |= 0x00000004;
            onChanged();
            return this;
          }
          /**
           * <code>required bool performed = 3;</code>
           * @return This builder for chaining.
           */
          public Builder clearPerformed() {
            bitField0_ = (bitField0_ & ~0x00000004);
            performed_ = false;
            onChanged();
            return this;
          }
  
          private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address> seen_ =
            java.util.Collections.emptyList();
          private void ensureSeenIsMutable() {
            if (!((bitField0_ & 0x00000008) != 0)) {
              seen_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address>(seen_);
              bitField0_ |= 0x00000008;
             }
          }
  
          private akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.AddressOrBuilder> seenBuilder_;
  
          /**
           * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
           */
          public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address> getSeenList() {
            if (seenBuilder_ == null) {
              return java.util.Collections.unmodifiableList(seen_);
            } else {
              return seenBuilder_.getMessageList();
            }
          }
          /**
           * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
           */
          public int getSeenCount() {
            if (seenBuilder_ == null) {
              return seen_.size();
            } else {
              return seenBuilder_.getCount();
            }
          }
          /**
           * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
           */
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address getSeen(int index) {
            if (seenBuilder_ == null) {
              return seen_.get(index);
            } else {
              return seenBuilder_.getMessage(index);
            }
          }
          /**
           * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
           */
          public Builder setSeen(
              int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address value) {
            if (seenBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              ensureSeenIsMutable();
              seen_.set(index, value);
              onChanged();
            } else {
              seenBuilder_.setMessage(index, value);
            }
            return this;
          }
          /**
           * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
           */
          public Builder setSeen(
              int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.Builder builderForValue) {
            if (seenBuilder_ == null) {
              ensureSeenIsMutable();
              seen_.set(index, builderForValue.build());
              onChanged();
            } else {
              seenBuilder_.setMessage(index, builderForValue.build());
            }
            return this;
          }
          /**
           * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
           */
          public Builder addSeen(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address value) {
            if (seenBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              ensureSeenIsMutable();
              seen_.add(value);
              onChanged();
            } else {
              seenBuilder_.addMessage(value);
            }
            return this;
          }
          /**
           * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
           */
          public Builder addSeen(
              int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address value) {
            if (seenBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              ensureSeenIsMutable();
              seen_.add(index, value);
              onChanged();
            } else {
              seenBuilder_.addMessage(index, value);
            }
            return this;
          }
          /**
           * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
           */
          public Builder addSeen(
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.Builder builderForValue) {
            if (seenBuilder_ == null) {
              ensureSeenIsMutable();
              seen_.add(builderForValue.build());
              onChanged();
            } else {
              seenBuilder_.addMessage(builderForValue.build());
            }
            return this;
          }
          /**
           * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
           */
          public Builder addSeen(
              int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.Builder builderForValue) {
            if (seenBuilder_ == null) {
              ensureSeenIsMutable();
              seen_.add(index, builderForValue.build());
              onChanged();
            } else {
              seenBuilder_.addMessage(index, builderForValue.build());
            }
            return this;
          }
          /**
           * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
           */
          public Builder addAllSeen(
              java.lang.Iterable<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address> values) {
            if (seenBuilder_ == null) {
              ensureSeenIsMutable();
              akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
                  values, seen_);
              onChanged();
            } else {
              seenBuilder_.addAllMessages(values);
            }
            return this;
          }
          /**
           * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
           */
          public Builder clearSeen() {
            if (seenBuilder_ == null) {
              seen_ = java.util.Collections.emptyList();
              bitField0_ = (bitField0_ & ~0x00000008);
              onChanged();
            } else {
              seenBuilder_.clear();
            }
            return this;
          }
          /**
           * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
           */
          public Builder removeSeen(int index) {
            if (seenBuilder_ == null) {
              ensureSeenIsMutable();
              seen_.remove(index);
              onChanged();
            } else {
              seenBuilder_.remove(index);
            }
            return this;
          }
          /**
           * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
           */
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.Builder getSeenBuilder(
              int index) {
            return getSeenFieldBuilder().getBuilder(index);
          }
          /**
           * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
           */
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.AddressOrBuilder getSeenOrBuilder(
              int index) {
            if (seenBuilder_ == null) {
              return seen_.get(index);  } else {
              return seenBuilder_.getMessageOrBuilder(index);
            }
          }
          /**
           * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
           */
          public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.AddressOrBuilder> 
               getSeenOrBuilderList() {
            if (seenBuilder_ != null) {
              return seenBuilder_.getMessageOrBuilderList();
            } else {
              return java.util.Collections.unmodifiableList(seen_);
            }
          }
          /**
           * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
           */
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.Builder addSeenBuilder() {
            return getSeenFieldBuilder().addBuilder(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.getDefaultInstance());
          }
          /**
           * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
           */
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.Builder addSeenBuilder(
              int index) {
            return getSeenFieldBuilder().addBuilder(
                index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.getDefaultInstance());
          }
          /**
           * <code>repeated .akka.cluster.ddata.Address seen = 4;</code>
           */
          public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.Builder> 
               getSeenBuilderList() {
            return getSeenFieldBuilder().getBuilderList();
          }
          private akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.AddressOrBuilder> 
              getSeenFieldBuilder() {
            if (seenBuilder_ == null) {
              seenBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.AddressOrBuilder>(
                      seen_,
                      ((bitField0_ & 0x00000008) != 0),
                      getParentForChildren(),
                      isClean());
              seen_ = null;
            }
            return seenBuilder_;
          }
  
          private long obsoleteTime_ ;
          /**
           * <code>optional sint64 obsoleteTime = 5;</code>
           * @return Whether the obsoleteTime field is set.
           */
          @java.lang.Override
          public boolean hasObsoleteTime() {
            return ((bitField0_ & 0x00000010) != 0);
          }
          /**
           * <code>optional sint64 obsoleteTime = 5;</code>
           * @return The obsoleteTime.
           */
          @java.lang.Override
          public long getObsoleteTime() {
            return obsoleteTime_;
          }
          /**
           * <code>optional sint64 obsoleteTime = 5;</code>
           * @param value The obsoleteTime to set.
           * @return This builder for chaining.
           */
          public Builder setObsoleteTime(long value) {
  
            obsoleteTime_ = value;
            bitField0_ |= 0x00000010;
            onChanged();
            return this;
          }
          /**
           * <code>optional sint64 obsoleteTime = 5;</code>
           * @return This builder for chaining.
           */
          public Builder clearObsoleteTime() {
            bitField0_ = (bitField0_ & ~0x00000010);
            obsoleteTime_ = 0L;
            onChanged();
            return this;
          }
          @java.lang.Override
          public final Builder setUnknownFields(
              final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
            return super.setUnknownFields(unknownFields);
          }
  
          @java.lang.Override
          public final Builder mergeUnknownFields(
              final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
            return super.mergeUnknownFields(unknownFields);
          }
  
  
          // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.DataEnvelope.PruningEntry)
        }
  
        // @@protoc_insertion_point(class_scope:akka.cluster.ddata.DataEnvelope.PruningEntry)
        private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry DEFAULT_INSTANCE;
        static {
          DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry();
        }
  
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }
  
        @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<PruningEntry>
            PARSER = new akka.protobufv3.internal.AbstractParser<PruningEntry>() {
          @java.lang.Override
          public PruningEntry parsePartialFrom(
              akka.protobufv3.internal.CodedInputStream input,
              akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
              throws akka.protobufv3.internal.InvalidProtocolBufferException {
            Builder builder = newBuilder();
            try {
              builder.mergeFrom(input, extensionRegistry);
            } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(builder.buildPartial());
            } catch (akka.protobufv3.internal.UninitializedMessageException e) {
              throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
            } catch (java.io.IOException e) {
              throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                  .setUnfinishedMessage(builder.buildPartial());
            }
            return builder.buildPartial();
          }
        };
  
        public static akka.protobufv3.internal.Parser<PruningEntry> parser() {
          return PARSER;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Parser<PruningEntry> getParserForType() {
          return PARSER;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry getDefaultInstanceForType() {
          return DEFAULT_INSTANCE;
        }
  
      }
  
      private int bitField0_;
      public static final int DATA_FIELD_NUMBER = 1;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage data_;
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
       * @return Whether the data field is set.
       */
      @java.lang.Override
      public boolean hasData() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
       * @return The data.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getData() {
        return data_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : data_;
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getDataOrBuilder() {
        return data_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : data_;
      }
  
      public static final int PRUNING_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry> pruning_;
      /**
       * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
       */
      @java.lang.Override
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry> getPruningList() {
        return pruning_;
      }
      /**
       * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
       */
      @java.lang.Override
      public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntryOrBuilder> 
          getPruningOrBuilderList() {
        return pruning_;
      }
      /**
       * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
       */
      @java.lang.Override
      public int getPruningCount() {
        return pruning_.size();
      }
      /**
       * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry getPruning(int index) {
        return pruning_.get(index);
      }
      /**
       * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntryOrBuilder getPruningOrBuilder(
          int index) {
        return pruning_.get(index);
      }
  
      public static final int DELTAVERSIONS_FIELD_NUMBER = 3;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector deltaVersions_;
      /**
       * <code>optional .akka.cluster.ddata.VersionVector deltaVersions = 3;</code>
       * @return Whether the deltaVersions field is set.
       */
      @java.lang.Override
      public boolean hasDeltaVersions() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional .akka.cluster.ddata.VersionVector deltaVersions = 3;</code>
       * @return The deltaVersions.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector getDeltaVersions() {
        return deltaVersions_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.getDefaultInstance() : deltaVersions_;
      }
      /**
       * <code>optional .akka.cluster.ddata.VersionVector deltaVersions = 3;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder getDeltaVersionsOrBuilder() {
        return deltaVersions_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.getDefaultInstance() : deltaVersions_;
      }
  
      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 (!hasData()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getData().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        for (int i = 0; i < getPruningCount(); i++) {
          if (!getPruning(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasDeltaVersions()) {
          if (!getDeltaVersions().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getData());
        }
        for (int i = 0; i < pruning_.size(); i++) {
          output.writeMessage(2, pruning_.get(i));
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeMessage(3, getDeltaVersions());
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(1, getData());
        }
        for (int i = 0; i < pruning_.size(); i++) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(2, pruning_.get(i));
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(3, getDeltaVersions());
        }
        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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope) obj;
  
        if (hasData() != other.hasData()) return false;
        if (hasData()) {
          if (!getData()
              .equals(other.getData())) return false;
        }
        if (!getPruningList()
            .equals(other.getPruningList())) return false;
        if (hasDeltaVersions() != other.hasDeltaVersions()) return false;
        if (hasDeltaVersions()) {
          if (!getDeltaVersions()
              .equals(other.getDeltaVersions())) 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 (hasData()) {
          hash = (37 * hash) + DATA_FIELD_NUMBER;
          hash = (53 * hash) + getData().hashCode();
        }
        if (getPruningCount() > 0) {
          hash = (37 * hash) + PRUNING_FIELD_NUMBER;
          hash = (53 * hash) + getPruningList().hashCode();
        }
        if (hasDeltaVersions()) {
          hash = (37 * hash) + DELTAVERSIONS_FIELD_NUMBER;
          hash = (53 * hash) + getDeltaVersions().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.DataEnvelope}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.DataEnvelope)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DataEnvelope_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DataEnvelope_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getDataFieldBuilder();
            getPruningFieldBuilder();
            getDeltaVersionsFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          data_ = null;
          if (dataBuilder_ != null) {
            dataBuilder_.dispose();
            dataBuilder_ = null;
          }
          if (pruningBuilder_ == null) {
            pruning_ = java.util.Collections.emptyList();
          } else {
            pruning_ = null;
            pruningBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          deltaVersions_ = null;
          if (deltaVersionsBuilder_ != null) {
            deltaVersionsBuilder_.dispose();
            deltaVersionsBuilder_ = null;
          }
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DataEnvelope_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope(this);
          buildPartialRepeatedFields(result);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartialRepeatedFields(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope result) {
          if (pruningBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0)) {
              pruning_ = java.util.Collections.unmodifiableList(pruning_);
              bitField0_ = (bitField0_ & ~0x00000002);
            }
            result.pruning_ = pruning_;
          } else {
            result.pruning_ = pruningBuilder_.build();
          }
        }
  
        private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.data_ = dataBuilder_ == null
                ? data_
                : dataBuilder_.build();
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.deltaVersions_ = deltaVersionsBuilder_ == null
                ? deltaVersions_
                : deltaVersionsBuilder_.build();
            to_bitField0_ |= 0x00000002;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance()) return this;
          if (other.hasData()) {
            mergeData(other.getData());
          }
          if (pruningBuilder_ == null) {
            if (!other.pruning_.isEmpty()) {
              if (pruning_.isEmpty()) {
                pruning_ = other.pruning_;
                bitField0_ = (bitField0_ & ~0x00000002);
              } else {
                ensurePruningIsMutable();
                pruning_.addAll(other.pruning_);
              }
              onChanged();
            }
          } else {
            if (!other.pruning_.isEmpty()) {
              if (pruningBuilder_.isEmpty()) {
                pruningBuilder_.dispose();
                pruningBuilder_ = null;
                pruning_ = other.pruning_;
                bitField0_ = (bitField0_ & ~0x00000002);
                pruningBuilder_ = 
                  akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getPruningFieldBuilder() : null;
              } else {
                pruningBuilder_.addAllMessages(other.pruning_);
              }
            }
          }
          if (other.hasDeltaVersions()) {
            mergeDeltaVersions(other.getDeltaVersions());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasData()) {
            return false;
          }
          if (!getData().isInitialized()) {
            return false;
          }
          for (int i = 0; i < getPruningCount(); i++) {
            if (!getPruning(i).isInitialized()) {
              return false;
            }
          }
          if (hasDeltaVersions()) {
            if (!getDeltaVersions().isInitialized()) {
              return false;
            }
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.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(
                      getDataFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry m =
                      input.readMessage(
                          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.PARSER,
                          extensionRegistry);
                  if (pruningBuilder_ == null) {
                    ensurePruningIsMutable();
                    pruning_.add(m);
                  } else {
                    pruningBuilder_.addMessage(m);
                  }
                  break;
                } // case 18
                case 26: {
                  input.readMessage(
                      getDeltaVersionsFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000004;
                  break;
                } // case 26
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage data_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> dataBuilder_;
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
         * @return Whether the data field is set.
         */
        public boolean hasData() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
         * @return The data.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getData() {
          if (dataBuilder_ == null) {
            return data_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : data_;
          } else {
            return dataBuilder_.getMessage();
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
         */
        public Builder setData(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (dataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            data_ = value;
          } else {
            dataBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
         */
        public Builder setData(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (dataBuilder_ == null) {
            data_ = builderForValue.build();
          } else {
            dataBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
         */
        public Builder mergeData(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (dataBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0) &&
              data_ != null &&
              data_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              getDataBuilder().mergeFrom(value);
            } else {
              data_ = value;
            }
          } else {
            dataBuilder_.mergeFrom(value);
          }
          if (data_ != null) {
            bitField0_ |= 0x00000001;
            onChanged();
          }
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
         */
        public Builder clearData() {
          bitField0_ = (bitField0_ & ~0x00000001);
          data_ = null;
          if (dataBuilder_ != null) {
            dataBuilder_.dispose();
            dataBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getDataBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getDataFieldBuilder().getBuilder();
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getDataOrBuilder() {
          if (dataBuilder_ != null) {
            return dataBuilder_.getMessageOrBuilder();
          } else {
            return data_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : data_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
            getDataFieldBuilder() {
          if (dataBuilder_ == null) {
            dataBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    getData(),
                    getParentForChildren(),
                    isClean());
            data_ = null;
          }
          return dataBuilder_;
        }
  
        private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry> pruning_ =
          java.util.Collections.emptyList();
        private void ensurePruningIsMutable() {
          if (!((bitField0_ & 0x00000002) != 0)) {
            pruning_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry>(pruning_);
            bitField0_ |= 0x00000002;
           }
        }
  
        private akka.protobufv3.internal.RepeatedFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntryOrBuilder> pruningBuilder_;
  
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry> getPruningList() {
          if (pruningBuilder_ == null) {
            return java.util.Collections.unmodifiableList(pruning_);
          } else {
            return pruningBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public int getPruningCount() {
          if (pruningBuilder_ == null) {
            return pruning_.size();
          } else {
            return pruningBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry getPruning(int index) {
          if (pruningBuilder_ == null) {
            return pruning_.get(index);
          } else {
            return pruningBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public Builder setPruning(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry value) {
          if (pruningBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensurePruningIsMutable();
            pruning_.set(index, value);
            onChanged();
          } else {
            pruningBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public Builder setPruning(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder builderForValue) {
          if (pruningBuilder_ == null) {
            ensurePruningIsMutable();
            pruning_.set(index, builderForValue.build());
            onChanged();
          } else {
            pruningBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public Builder addPruning(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry value) {
          if (pruningBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensurePruningIsMutable();
            pruning_.add(value);
            onChanged();
          } else {
            pruningBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public Builder addPruning(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry value) {
          if (pruningBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensurePruningIsMutable();
            pruning_.add(index, value);
            onChanged();
          } else {
            pruningBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public Builder addPruning(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder builderForValue) {
          if (pruningBuilder_ == null) {
            ensurePruningIsMutable();
            pruning_.add(builderForValue.build());
            onChanged();
          } else {
            pruningBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public Builder addPruning(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder builderForValue) {
          if (pruningBuilder_ == null) {
            ensurePruningIsMutable();
            pruning_.add(index, builderForValue.build());
            onChanged();
          } else {
            pruningBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public Builder addAllPruning(
            java.lang.Iterable<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry> values) {
          if (pruningBuilder_ == null) {
            ensurePruningIsMutable();
            akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
                values, pruning_);
            onChanged();
          } else {
            pruningBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public Builder clearPruning() {
          if (pruningBuilder_ == null) {
            pruning_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
            onChanged();
          } else {
            pruningBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public Builder removePruning(int index) {
          if (pruningBuilder_ == null) {
            ensurePruningIsMutable();
            pruning_.remove(index);
            onChanged();
          } else {
            pruningBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder getPruningBuilder(
            int index) {
          return getPruningFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntryOrBuilder getPruningOrBuilder(
            int index) {
          if (pruningBuilder_ == null) {
            return pruning_.get(index);  } else {
            return pruningBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntryOrBuilder> 
             getPruningOrBuilderList() {
          if (pruningBuilder_ != null) {
            return pruningBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(pruning_);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder addPruningBuilder() {
          return getPruningFieldBuilder().addBuilder(
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.getDefaultInstance());
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder addPruningBuilder(
            int index) {
          return getPruningFieldBuilder().addBuilder(
              index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.getDefaultInstance());
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder> 
             getPruningBuilderList() {
          return getPruningFieldBuilder().getBuilderList();
        }
        private akka.protobufv3.internal.RepeatedFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntryOrBuilder> 
            getPruningFieldBuilder() {
          if (pruningBuilder_ == null) {
            pruningBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntryOrBuilder>(
                    pruning_,
                    ((bitField0_ & 0x00000002) != 0),
                    getParentForChildren(),
                    isClean());
            pruning_ = null;
          }
          return pruningBuilder_;
        }
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector deltaVersions_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder> deltaVersionsBuilder_;
        /**
         * <code>optional .akka.cluster.ddata.VersionVector deltaVersions = 3;</code>
         * @return Whether the deltaVersions field is set.
         */
        public boolean hasDeltaVersions() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>optional .akka.cluster.ddata.VersionVector deltaVersions = 3;</code>
         * @return The deltaVersions.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector getDeltaVersions() {
          if (deltaVersionsBuilder_ == null) {
            return deltaVersions_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.getDefaultInstance() : deltaVersions_;
          } else {
            return deltaVersionsBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.VersionVector deltaVersions = 3;</code>
         */
        public Builder setDeltaVersions(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector value) {
          if (deltaVersionsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            deltaVersions_ = value;
          } else {
            deltaVersionsBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.VersionVector deltaVersions = 3;</code>
         */
        public Builder setDeltaVersions(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder builderForValue) {
          if (deltaVersionsBuilder_ == null) {
            deltaVersions_ = builderForValue.build();
          } else {
            deltaVersionsBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.VersionVector deltaVersions = 3;</code>
         */
        public Builder mergeDeltaVersions(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector value) {
          if (deltaVersionsBuilder_ == null) {
            if (((bitField0_ & 0x00000004) != 0) &&
              deltaVersions_ != null &&
              deltaVersions_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.getDefaultInstance()) {
              getDeltaVersionsBuilder().mergeFrom(value);
            } else {
              deltaVersions_ = value;
            }
          } else {
            deltaVersionsBuilder_.mergeFrom(value);
          }
          if (deltaVersions_ != null) {
            bitField0_ |= 0x00000004;
            onChanged();
          }
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.VersionVector deltaVersions = 3;</code>
         */
        public Builder clearDeltaVersions() {
          bitField0_ = (bitField0_ & ~0x00000004);
          deltaVersions_ = null;
          if (deltaVersionsBuilder_ != null) {
            deltaVersionsBuilder_.dispose();
            deltaVersionsBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.VersionVector deltaVersions = 3;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder getDeltaVersionsBuilder() {
          bitField0_ |= 0x00000004;
          onChanged();
          return getDeltaVersionsFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .akka.cluster.ddata.VersionVector deltaVersions = 3;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder getDeltaVersionsOrBuilder() {
          if (deltaVersionsBuilder_ != null) {
            return deltaVersionsBuilder_.getMessageOrBuilder();
          } else {
            return deltaVersions_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.getDefaultInstance() : deltaVersions_;
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.VersionVector deltaVersions = 3;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder> 
            getDeltaVersionsFieldBuilder() {
          if (deltaVersionsBuilder_ == null) {
            deltaVersionsBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder>(
                    getDeltaVersions(),
                    getParentForChildren(),
                    isClean());
            deltaVersions_ = null;
          }
          return deltaVersionsBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.DataEnvelope)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.DataEnvelope)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<DataEnvelope>
          PARSER = new akka.protobufv3.internal.AbstractParser<DataEnvelope>() {
        @java.lang.Override
        public DataEnvelope parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<DataEnvelope> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<DataEnvelope> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface StatusOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.Status)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required uint32 chunk = 1;</code>
       * @return Whether the chunk field is set.
       */
      boolean hasChunk();
      /**
       * <code>required uint32 chunk = 1;</code>
       * @return The chunk.
       */
      int getChunk();
  
      /**
       * <code>required uint32 totChunks = 2;</code>
       * @return Whether the totChunks field is set.
       */
      boolean hasTotChunks();
      /**
       * <code>required uint32 totChunks = 2;</code>
       * @return The totChunks.
       */
      int getTotChunks();
  
      /**
       * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
       */
      java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry> 
          getEntriesList();
      /**
       * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry getEntries(int index);
      /**
       * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
       */
      int getEntriesCount();
      /**
       * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
       */
      java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.EntryOrBuilder> 
          getEntriesOrBuilderList();
      /**
       * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.EntryOrBuilder getEntriesOrBuilder(
          int index);
  
      /**
       * <code>optional sfixed64 toSystemUid = 4;</code>
       * @return Whether the toSystemUid field is set.
       */
      boolean hasToSystemUid();
      /**
       * <code>optional sfixed64 toSystemUid = 4;</code>
       * @return The toSystemUid.
       */
      long getToSystemUid();
  
      /**
       * <code>optional sfixed64 fromSystemUid = 5;</code>
       * @return Whether the fromSystemUid field is set.
       */
      boolean hasFromSystemUid();
      /**
       * <code>optional sfixed64 fromSystemUid = 5;</code>
       * @return The fromSystemUid.
       */
      long getFromSystemUid();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.Status}
     */
    public static final class Status extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.Status)
        StatusOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Status.newBuilder() to construct.
      private Status(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Status() {
        entries_ = java.util.Collections.emptyList();
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Status();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Status_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Status_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Builder.class);
      }
  
      public interface EntryOrBuilder extends
          // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.Status.Entry)
          akka.protobufv3.internal.MessageOrBuilder {
  
        /**
         * <code>required string key = 1;</code>
         * @return Whether the key field is set.
         */
        boolean hasKey();
        /**
         * <code>required string key = 1;</code>
         * @return The key.
         */
        java.lang.String getKey();
        /**
         * <code>required string key = 1;</code>
         * @return The bytes for key.
         */
        akka.protobufv3.internal.ByteString
            getKeyBytes();
  
        /**
         * <code>required bytes digest = 2;</code>
         * @return Whether the digest field is set.
         */
        boolean hasDigest();
        /**
         * <code>required bytes digest = 2;</code>
         * @return The digest.
         */
        akka.protobufv3.internal.ByteString getDigest();
  
        /**
         * <code>optional sint64 usedTimestamp = 3;</code>
         * @return Whether the usedTimestamp field is set.
         */
        boolean hasUsedTimestamp();
        /**
         * <code>optional sint64 usedTimestamp = 3;</code>
         * @return The usedTimestamp.
         */
        long getUsedTimestamp();
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.Status.Entry}
       */
      public static final class Entry extends
          akka.protobufv3.internal.GeneratedMessageV3 implements
          // @@protoc_insertion_point(message_implements:akka.cluster.ddata.Status.Entry)
          EntryOrBuilder {
      private static final long serialVersionUID = 0L;
        // Use Entry.newBuilder() to construct.
        private Entry(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
          super(builder);
        }
        private Entry() {
          key_ = "";
          digest_ = akka.protobufv3.internal.ByteString.EMPTY;
        }
  
        @java.lang.Override
        @SuppressWarnings({"unused"})
        protected java.lang.Object newInstance(
            akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
          return new Entry();
        }
  
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Status_Entry_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Status_Entry_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry.Builder.class);
        }
  
        private int bitField0_;
        public static final int KEY_FIELD_NUMBER = 1;
        @SuppressWarnings("serial")
        private volatile java.lang.Object key_ = "";
        /**
         * <code>required string key = 1;</code>
         * @return Whether the key field is set.
         */
        @java.lang.Override
        public boolean hasKey() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required string key = 1;</code>
         * @return The key.
         */
        @java.lang.Override
        public java.lang.String getKey() {
          java.lang.Object ref = key_;
          if (ref instanceof java.lang.String) {
            return (java.lang.String) ref;
          } else {
            akka.protobufv3.internal.ByteString bs = 
                (akka.protobufv3.internal.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              key_ = s;
            }
            return s;
          }
        }
        /**
         * <code>required string key = 1;</code>
         * @return The bytes for key.
         */
        @java.lang.Override
        public akka.protobufv3.internal.ByteString
            getKeyBytes() {
          java.lang.Object ref = key_;
          if (ref instanceof java.lang.String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            key_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
  
        public static final int DIGEST_FIELD_NUMBER = 2;
        private akka.protobufv3.internal.ByteString digest_ = akka.protobufv3.internal.ByteString.EMPTY;
        /**
         * <code>required bytes digest = 2;</code>
         * @return Whether the digest field is set.
         */
        @java.lang.Override
        public boolean hasDigest() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required bytes digest = 2;</code>
         * @return The digest.
         */
        @java.lang.Override
        public akka.protobufv3.internal.ByteString getDigest() {
          return digest_;
        }
  
        public static final int USEDTIMESTAMP_FIELD_NUMBER = 3;
        private long usedTimestamp_ = 0L;
        /**
         * <code>optional sint64 usedTimestamp = 3;</code>
         * @return Whether the usedTimestamp field is set.
         */
        @java.lang.Override
        public boolean hasUsedTimestamp() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>optional sint64 usedTimestamp = 3;</code>
         * @return The usedTimestamp.
         */
        @java.lang.Override
        public long getUsedTimestamp() {
          return usedTimestamp_;
        }
  
        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 (!hasKey()) {
            memoizedIsInitialized = 0;
            return false;
          }
          if (!hasDigest()) {
            memoizedIsInitialized = 0;
            return false;
          }
          memoizedIsInitialized = 1;
          return true;
        }
  
        @java.lang.Override
        public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                            throws java.io.IOException {
          if (((bitField0_ & 0x00000001) != 0)) {
            akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 1, key_);
          }
          if (((bitField0_ & 0x00000002) != 0)) {
            output.writeBytes(2, digest_);
          }
          if (((bitField0_ & 0x00000004) != 0)) {
            output.writeSInt64(3, usedTimestamp_);
          }
          getUnknownFields().writeTo(output);
        }
  
        @java.lang.Override
        public int getSerializedSize() {
          int size = memoizedSize;
          if (size != -1) return size;
  
          size = 0;
          if (((bitField0_ & 0x00000001) != 0)) {
            size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(1, key_);
          }
          if (((bitField0_ & 0x00000002) != 0)) {
            size += akka.protobufv3.internal.CodedOutputStream
              .computeBytesSize(2, digest_);
          }
          if (((bitField0_ & 0x00000004) != 0)) {
            size += akka.protobufv3.internal.CodedOutputStream
              .computeSInt64Size(3, usedTimestamp_);
          }
          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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry)) {
            return super.equals(obj);
          }
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry) obj;
  
          if (hasKey() != other.hasKey()) return false;
          if (hasKey()) {
            if (!getKey()
                .equals(other.getKey())) return false;
          }
          if (hasDigest() != other.hasDigest()) return false;
          if (hasDigest()) {
            if (!getDigest()
                .equals(other.getDigest())) return false;
          }
          if (hasUsedTimestamp() != other.hasUsedTimestamp()) return false;
          if (hasUsedTimestamp()) {
            if (getUsedTimestamp()
                != other.getUsedTimestamp()) 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 (hasKey()) {
            hash = (37 * hash) + KEY_FIELD_NUMBER;
            hash = (53 * hash) + getKey().hashCode();
          }
          if (hasDigest()) {
            hash = (37 * hash) + DIGEST_FIELD_NUMBER;
            hash = (53 * hash) + getDigest().hashCode();
          }
          if (hasUsedTimestamp()) {
            hash = (37 * hash) + USEDTIMESTAMP_FIELD_NUMBER;
            hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
                getUsedTimestamp());
          }
          hash = (29 * hash) + getUnknownFields().hashCode();
          memoizedHashCode = hash;
          return hash;
        }
  
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry parseFrom(
            java.nio.ByteBuffer data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry parseFrom(
            java.nio.ByteBuffer data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry parseFrom(
            akka.protobufv3.internal.ByteString data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry parseFrom(
            akka.protobufv3.internal.ByteString data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry parseFrom(byte[] data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry parseFrom(
            byte[] data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry parseFrom(
            java.io.InputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }
  
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input);
        }
  
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry parseDelimitedFrom(
            java.io.InputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry parseFrom(
            akka.protobufv3.internal.CodedInputStream input)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry parseFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry 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(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        /**
         * Protobuf type {@code akka.cluster.ddata.Status.Entry}
         */
        public static final class Builder extends
            akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
            // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.Status.Entry)
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.EntryOrBuilder {
          public static final akka.protobufv3.internal.Descriptors.Descriptor
              getDescriptor() {
            return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Status_Entry_descriptor;
          }
  
          @java.lang.Override
          protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Status_Entry_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry.Builder.class);
          }
  
          // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry.newBuilder()
          private Builder() {
  
          }
  
          private Builder(
              akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
            super(parent);
  
          }
          @java.lang.Override
          public Builder clear() {
            super.clear();
            bitField0_ = 0;
            key_ = "";
            digest_ = akka.protobufv3.internal.ByteString.EMPTY;
            usedTimestamp_ = 0L;
            return this;
          }
  
          @java.lang.Override
          public akka.protobufv3.internal.Descriptors.Descriptor
              getDescriptorForType() {
            return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Status_Entry_descriptor;
          }
  
          @java.lang.Override
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry getDefaultInstanceForType() {
            return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry.getDefaultInstance();
          }
  
          @java.lang.Override
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry build() {
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }
  
          @java.lang.Override
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry buildPartial() {
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry(this);
            if (bitField0_ != 0) { buildPartial0(result); }
            onBuilt();
            return result;
          }
  
          private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry result) {
            int from_bitField0_ = bitField0_;
            int to_bitField0_ = 0;
            if (((from_bitField0_ & 0x00000001) != 0)) {
              result.key_ = key_;
              to_bitField0_ |= 0x00000001;
            }
            if (((from_bitField0_ & 0x00000002) != 0)) {
              result.digest_ = digest_;
              to_bitField0_ |= 0x00000002;
            }
            if (((from_bitField0_ & 0x00000004) != 0)) {
              result.usedTimestamp_ = usedTimestamp_;
              to_bitField0_ |= 0x00000004;
            }
            result.bitField0_ |= to_bitField0_;
          }
  
          @java.lang.Override
          public Builder clone() {
            return super.clone();
          }
          @java.lang.Override
          public Builder setField(
              akka.protobufv3.internal.Descriptors.FieldDescriptor field,
              java.lang.Object value) {
            return super.setField(field, value);
          }
          @java.lang.Override
          public Builder clearField(
              akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
            return super.clearField(field);
          }
          @java.lang.Override
          public Builder clearOneof(
              akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
            return super.clearOneof(oneof);
          }
          @java.lang.Override
          public Builder setRepeatedField(
              akka.protobufv3.internal.Descriptors.FieldDescriptor field,
              int index, java.lang.Object value) {
            return super.setRepeatedField(field, index, value);
          }
          @java.lang.Override
          public Builder addRepeatedField(
              akka.protobufv3.internal.Descriptors.FieldDescriptor field,
              java.lang.Object value) {
            return super.addRepeatedField(field, value);
          }
          @java.lang.Override
          public Builder mergeFrom(akka.protobufv3.internal.Message other) {
            if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry) {
              return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }
  
          public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry other) {
            if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry.getDefaultInstance()) return this;
            if (other.hasKey()) {
              key_ = other.key_;
              bitField0_ |= 0x00000001;
              onChanged();
            }
            if (other.hasDigest()) {
              setDigest(other.getDigest());
            }
            if (other.hasUsedTimestamp()) {
              setUsedTimestamp(other.getUsedTimestamp());
            }
            this.mergeUnknownFields(other.getUnknownFields());
            onChanged();
            return this;
          }
  
          @java.lang.Override
          public final boolean isInitialized() {
            if (!hasKey()) {
              return false;
            }
            if (!hasDigest()) {
              return false;
            }
            return true;
          }
  
          @java.lang.Override
          public Builder mergeFrom(
              akka.protobufv3.internal.CodedInputStream input,
              akka.protobufv3.internal.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: {
                    key_ = input.readBytes();
                    bitField0_ |= 0x00000001;
                    break;
                  } // case 10
                  case 18: {
                    digest_ = input.readBytes();
                    bitField0_ |= 0x00000002;
                    break;
                  } // case 18
                  case 24: {
                    usedTimestamp_ = input.readSInt64();
                    bitField0_ |= 0x00000004;
                    break;
                  } // case 24
                  default: {
                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                      done = true; // was an endgroup tag
                    }
                    break;
                  } // default:
                } // switch (tag)
              } // while (!done)
            } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
              throw e.unwrapIOException();
            } finally {
              onChanged();
            } // finally
            return this;
          }
          private int bitField0_;
  
          private java.lang.Object key_ = "";
          /**
           * <code>required string key = 1;</code>
           * @return Whether the key field is set.
           */
          public boolean hasKey() {
            return ((bitField0_ & 0x00000001) != 0);
          }
          /**
           * <code>required string key = 1;</code>
           * @return The key.
           */
          public java.lang.String getKey() {
            java.lang.Object ref = key_;
            if (!(ref instanceof java.lang.String)) {
              akka.protobufv3.internal.ByteString bs =
                  (akka.protobufv3.internal.ByteString) ref;
              java.lang.String s = bs.toStringUtf8();
              if (bs.isValidUtf8()) {
                key_ = s;
              }
              return s;
            } else {
              return (java.lang.String) ref;
            }
          }
          /**
           * <code>required string key = 1;</code>
           * @return The bytes for key.
           */
          public akka.protobufv3.internal.ByteString
              getKeyBytes() {
            java.lang.Object ref = key_;
            if (ref instanceof String) {
              akka.protobufv3.internal.ByteString b = 
                  akka.protobufv3.internal.ByteString.copyFromUtf8(
                      (java.lang.String) ref);
              key_ = b;
              return b;
            } else {
              return (akka.protobufv3.internal.ByteString) ref;
            }
          }
          /**
           * <code>required string key = 1;</code>
           * @param value The key to set.
           * @return This builder for chaining.
           */
          public Builder setKey(
              java.lang.String value) {
            if (value == null) { throw new NullPointerException(); }
            key_ = value;
            bitField0_ |= 0x00000001;
            onChanged();
            return this;
          }
          /**
           * <code>required string key = 1;</code>
           * @return This builder for chaining.
           */
          public Builder clearKey() {
            key_ = getDefaultInstance().getKey();
            bitField0_ = (bitField0_ & ~0x00000001);
            onChanged();
            return this;
          }
          /**
           * <code>required string key = 1;</code>
           * @param value The bytes for key to set.
           * @return This builder for chaining.
           */
          public Builder setKeyBytes(
              akka.protobufv3.internal.ByteString value) {
            if (value == null) { throw new NullPointerException(); }
            key_ = value;
            bitField0_ |= 0x00000001;
            onChanged();
            return this;
          }
  
          private akka.protobufv3.internal.ByteString digest_ = akka.protobufv3.internal.ByteString.EMPTY;
          /**
           * <code>required bytes digest = 2;</code>
           * @return Whether the digest field is set.
           */
          @java.lang.Override
          public boolean hasDigest() {
            return ((bitField0_ & 0x00000002) != 0);
          }
          /**
           * <code>required bytes digest = 2;</code>
           * @return The digest.
           */
          @java.lang.Override
          public akka.protobufv3.internal.ByteString getDigest() {
            return digest_;
          }
          /**
           * <code>required bytes digest = 2;</code>
           * @param value The digest to set.
           * @return This builder for chaining.
           */
          public Builder setDigest(akka.protobufv3.internal.ByteString value) {
            if (value == null) { throw new NullPointerException(); }
            digest_ = value;
            bitField0_ |= 0x00000002;
            onChanged();
            return this;
          }
          /**
           * <code>required bytes digest = 2;</code>
           * @return This builder for chaining.
           */
          public Builder clearDigest() {
            bitField0_ = (bitField0_ & ~0x00000002);
            digest_ = getDefaultInstance().getDigest();
            onChanged();
            return this;
          }
  
          private long usedTimestamp_ ;
          /**
           * <code>optional sint64 usedTimestamp = 3;</code>
           * @return Whether the usedTimestamp field is set.
           */
          @java.lang.Override
          public boolean hasUsedTimestamp() {
            return ((bitField0_ & 0x00000004) != 0);
          }
          /**
           * <code>optional sint64 usedTimestamp = 3;</code>
           * @return The usedTimestamp.
           */
          @java.lang.Override
          public long getUsedTimestamp() {
            return usedTimestamp_;
          }
          /**
           * <code>optional sint64 usedTimestamp = 3;</code>
           * @param value The usedTimestamp to set.
           * @return This builder for chaining.
           */
          public Builder setUsedTimestamp(long value) {
  
            usedTimestamp_ = value;
            bitField0_ |= 0x00000004;
            onChanged();
            return this;
          }
          /**
           * <code>optional sint64 usedTimestamp = 3;</code>
           * @return This builder for chaining.
           */
          public Builder clearUsedTimestamp() {
            bitField0_ = (bitField0_ & ~0x00000004);
            usedTimestamp_ = 0L;
            onChanged();
            return this;
          }
          @java.lang.Override
          public final Builder setUnknownFields(
              final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
            return super.setUnknownFields(unknownFields);
          }
  
          @java.lang.Override
          public final Builder mergeUnknownFields(
              final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
            return super.mergeUnknownFields(unknownFields);
          }
  
  
          // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.Status.Entry)
        }
  
        // @@protoc_insertion_point(class_scope:akka.cluster.ddata.Status.Entry)
        private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry DEFAULT_INSTANCE;
        static {
          DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry();
        }
  
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }
  
        @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Entry>
            PARSER = new akka.protobufv3.internal.AbstractParser<Entry>() {
          @java.lang.Override
          public Entry parsePartialFrom(
              akka.protobufv3.internal.CodedInputStream input,
              akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
              throws akka.protobufv3.internal.InvalidProtocolBufferException {
            Builder builder = newBuilder();
            try {
              builder.mergeFrom(input, extensionRegistry);
            } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(builder.buildPartial());
            } catch (akka.protobufv3.internal.UninitializedMessageException e) {
              throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
            } catch (java.io.IOException e) {
              throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                  .setUnfinishedMessage(builder.buildPartial());
            }
            return builder.buildPartial();
          }
        };
  
        public static akka.protobufv3.internal.Parser<Entry> parser() {
          return PARSER;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Parser<Entry> getParserForType() {
          return PARSER;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry getDefaultInstanceForType() {
          return DEFAULT_INSTANCE;
        }
  
      }
  
      private int bitField0_;
      public static final int CHUNK_FIELD_NUMBER = 1;
      private int chunk_ = 0;
      /**
       * <code>required uint32 chunk = 1;</code>
       * @return Whether the chunk field is set.
       */
      @java.lang.Override
      public boolean hasChunk() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required uint32 chunk = 1;</code>
       * @return The chunk.
       */
      @java.lang.Override
      public int getChunk() {
        return chunk_;
      }
  
      public static final int TOTCHUNKS_FIELD_NUMBER = 2;
      private int totChunks_ = 0;
      /**
       * <code>required uint32 totChunks = 2;</code>
       * @return Whether the totChunks field is set.
       */
      @java.lang.Override
      public boolean hasTotChunks() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required uint32 totChunks = 2;</code>
       * @return The totChunks.
       */
      @java.lang.Override
      public int getTotChunks() {
        return totChunks_;
      }
  
      public static final int ENTRIES_FIELD_NUMBER = 3;
      @SuppressWarnings("serial")
      private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry> entries_;
      /**
       * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
       */
      @java.lang.Override
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry> getEntriesList() {
        return entries_;
      }
      /**
       * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
       */
      @java.lang.Override
      public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.EntryOrBuilder> 
          getEntriesOrBuilderList() {
        return entries_;
      }
      /**
       * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
       */
      @java.lang.Override
      public int getEntriesCount() {
        return entries_.size();
      }
      /**
       * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry getEntries(int index) {
        return entries_.get(index);
      }
      /**
       * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.EntryOrBuilder getEntriesOrBuilder(
          int index) {
        return entries_.get(index);
      }
  
      public static final int TOSYSTEMUID_FIELD_NUMBER = 4;
      private long toSystemUid_ = 0L;
      /**
       * <code>optional sfixed64 toSystemUid = 4;</code>
       * @return Whether the toSystemUid field is set.
       */
      @java.lang.Override
      public boolean hasToSystemUid() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional sfixed64 toSystemUid = 4;</code>
       * @return The toSystemUid.
       */
      @java.lang.Override
      public long getToSystemUid() {
        return toSystemUid_;
      }
  
      public static final int FROMSYSTEMUID_FIELD_NUMBER = 5;
      private long fromSystemUid_ = 0L;
      /**
       * <code>optional sfixed64 fromSystemUid = 5;</code>
       * @return Whether the fromSystemUid field is set.
       */
      @java.lang.Override
      public boolean hasFromSystemUid() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>optional sfixed64 fromSystemUid = 5;</code>
       * @return The fromSystemUid.
       */
      @java.lang.Override
      public long getFromSystemUid() {
        return fromSystemUid_;
      }
  
      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 (!hasChunk()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasTotChunks()) {
          memoizedIsInitialized = 0;
          return false;
        }
        for (int i = 0; i < getEntriesCount(); i++) {
          if (!getEntries(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeUInt32(1, chunk_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeUInt32(2, totChunks_);
        }
        for (int i = 0; i < entries_.size(); i++) {
          output.writeMessage(3, entries_.get(i));
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeSFixed64(4, toSystemUid_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          output.writeSFixed64(5, fromSystemUid_);
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeUInt32Size(1, chunk_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeUInt32Size(2, totChunks_);
        }
        for (int i = 0; i < entries_.size(); i++) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(3, entries_.get(i));
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeSFixed64Size(4, toSystemUid_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeSFixed64Size(5, fromSystemUid_);
        }
        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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status) obj;
  
        if (hasChunk() != other.hasChunk()) return false;
        if (hasChunk()) {
          if (getChunk()
              != other.getChunk()) return false;
        }
        if (hasTotChunks() != other.hasTotChunks()) return false;
        if (hasTotChunks()) {
          if (getTotChunks()
              != other.getTotChunks()) return false;
        }
        if (!getEntriesList()
            .equals(other.getEntriesList())) return false;
        if (hasToSystemUid() != other.hasToSystemUid()) return false;
        if (hasToSystemUid()) {
          if (getToSystemUid()
              != other.getToSystemUid()) return false;
        }
        if (hasFromSystemUid() != other.hasFromSystemUid()) return false;
        if (hasFromSystemUid()) {
          if (getFromSystemUid()
              != other.getFromSystemUid()) 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 (hasChunk()) {
          hash = (37 * hash) + CHUNK_FIELD_NUMBER;
          hash = (53 * hash) + getChunk();
        }
        if (hasTotChunks()) {
          hash = (37 * hash) + TOTCHUNKS_FIELD_NUMBER;
          hash = (53 * hash) + getTotChunks();
        }
        if (getEntriesCount() > 0) {
          hash = (37 * hash) + ENTRIES_FIELD_NUMBER;
          hash = (53 * hash) + getEntriesList().hashCode();
        }
        if (hasToSystemUid()) {
          hash = (37 * hash) + TOSYSTEMUID_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getToSystemUid());
        }
        if (hasFromSystemUid()) {
          hash = (37 * hash) + FROMSYSTEMUID_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getFromSystemUid());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.Status}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.Status)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StatusOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Status_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Status_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.newBuilder()
        private Builder() {
  
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
  
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          chunk_ = 0;
          totChunks_ = 0;
          if (entriesBuilder_ == null) {
            entries_ = java.util.Collections.emptyList();
          } else {
            entries_ = null;
            entriesBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000004);
          toSystemUid_ = 0L;
          fromSystemUid_ = 0L;
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Status_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status(this);
          buildPartialRepeatedFields(result);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartialRepeatedFields(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status result) {
          if (entriesBuilder_ == null) {
            if (((bitField0_ & 0x00000004) != 0)) {
              entries_ = java.util.Collections.unmodifiableList(entries_);
              bitField0_ = (bitField0_ & ~0x00000004);
            }
            result.entries_ = entries_;
          } else {
            result.entries_ = entriesBuilder_.build();
          }
        }
  
        private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.chunk_ = chunk_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.totChunks_ = totChunks_;
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.toSystemUid_ = toSystemUid_;
            to_bitField0_ |= 0x00000004;
          }
          if (((from_bitField0_ & 0x00000010) != 0)) {
            result.fromSystemUid_ = fromSystemUid_;
            to_bitField0_ |= 0x00000008;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.getDefaultInstance()) return this;
          if (other.hasChunk()) {
            setChunk(other.getChunk());
          }
          if (other.hasTotChunks()) {
            setTotChunks(other.getTotChunks());
          }
          if (entriesBuilder_ == null) {
            if (!other.entries_.isEmpty()) {
              if (entries_.isEmpty()) {
                entries_ = other.entries_;
                bitField0_ = (bitField0_ & ~0x00000004);
              } else {
                ensureEntriesIsMutable();
                entries_.addAll(other.entries_);
              }
              onChanged();
            }
          } else {
            if (!other.entries_.isEmpty()) {
              if (entriesBuilder_.isEmpty()) {
                entriesBuilder_.dispose();
                entriesBuilder_ = null;
                entries_ = other.entries_;
                bitField0_ = (bitField0_ & ~0x00000004);
                entriesBuilder_ = 
                  akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getEntriesFieldBuilder() : null;
              } else {
                entriesBuilder_.addAllMessages(other.entries_);
              }
            }
          }
          if (other.hasToSystemUid()) {
            setToSystemUid(other.getToSystemUid());
          }
          if (other.hasFromSystemUid()) {
            setFromSystemUid(other.getFromSystemUid());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasChunk()) {
            return false;
          }
          if (!hasTotChunks()) {
            return false;
          }
          for (int i = 0; i < getEntriesCount(); i++) {
            if (!getEntries(i).isInitialized()) {
              return false;
            }
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.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: {
                  chunk_ = input.readUInt32();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 8
                case 16: {
                  totChunks_ = input.readUInt32();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 16
                case 26: {
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry m =
                      input.readMessage(
                          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry.PARSER,
                          extensionRegistry);
                  if (entriesBuilder_ == null) {
                    ensureEntriesIsMutable();
                    entries_.add(m);
                  } else {
                    entriesBuilder_.addMessage(m);
                  }
                  break;
                } // case 26
                case 33: {
                  toSystemUid_ = input.readSFixed64();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 33
                case 41: {
                  fromSystemUid_ = input.readSFixed64();
                  bitField0_ |= 0x00000010;
                  break;
                } // case 41
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private int chunk_ ;
        /**
         * <code>required uint32 chunk = 1;</code>
         * @return Whether the chunk field is set.
         */
        @java.lang.Override
        public boolean hasChunk() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required uint32 chunk = 1;</code>
         * @return The chunk.
         */
        @java.lang.Override
        public int getChunk() {
          return chunk_;
        }
        /**
         * <code>required uint32 chunk = 1;</code>
         * @param value The chunk to set.
         * @return This builder for chaining.
         */
        public Builder setChunk(int value) {
  
          chunk_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required uint32 chunk = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearChunk() {
          bitField0_ = (bitField0_ & ~0x00000001);
          chunk_ = 0;
          onChanged();
          return this;
        }
  
        private int totChunks_ ;
        /**
         * <code>required uint32 totChunks = 2;</code>
         * @return Whether the totChunks field is set.
         */
        @java.lang.Override
        public boolean hasTotChunks() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required uint32 totChunks = 2;</code>
         * @return The totChunks.
         */
        @java.lang.Override
        public int getTotChunks() {
          return totChunks_;
        }
        /**
         * <code>required uint32 totChunks = 2;</code>
         * @param value The totChunks to set.
         * @return This builder for chaining.
         */
        public Builder setTotChunks(int value) {
  
          totChunks_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required uint32 totChunks = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearTotChunks() {
          bitField0_ = (bitField0_ & ~0x00000002);
          totChunks_ = 0;
          onChanged();
          return this;
        }
  
        private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry> entries_ =
          java.util.Collections.emptyList();
        private void ensureEntriesIsMutable() {
          if (!((bitField0_ & 0x00000004) != 0)) {
            entries_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry>(entries_);
            bitField0_ |= 0x00000004;
           }
        }
  
        private akka.protobufv3.internal.RepeatedFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.EntryOrBuilder> entriesBuilder_;
  
        /**
         * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
         */
        public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry> getEntriesList() {
          if (entriesBuilder_ == null) {
            return java.util.Collections.unmodifiableList(entries_);
          } else {
            return entriesBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
         */
        public int getEntriesCount() {
          if (entriesBuilder_ == null) {
            return entries_.size();
          } else {
            return entriesBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry getEntries(int index) {
          if (entriesBuilder_ == null) {
            return entries_.get(index);
          } else {
            return entriesBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
         */
        public Builder setEntries(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry value) {
          if (entriesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntriesIsMutable();
            entries_.set(index, value);
            onChanged();
          } else {
            entriesBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
         */
        public Builder setEntries(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry.Builder builderForValue) {
          if (entriesBuilder_ == null) {
            ensureEntriesIsMutable();
            entries_.set(index, builderForValue.build());
            onChanged();
          } else {
            entriesBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
         */
        public Builder addEntries(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry value) {
          if (entriesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntriesIsMutable();
            entries_.add(value);
            onChanged();
          } else {
            entriesBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
         */
        public Builder addEntries(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry value) {
          if (entriesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntriesIsMutable();
            entries_.add(index, value);
            onChanged();
          } else {
            entriesBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
         */
        public Builder addEntries(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry.Builder builderForValue) {
          if (entriesBuilder_ == null) {
            ensureEntriesIsMutable();
            entries_.add(builderForValue.build());
            onChanged();
          } else {
            entriesBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
         */
        public Builder addEntries(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry.Builder builderForValue) {
          if (entriesBuilder_ == null) {
            ensureEntriesIsMutable();
            entries_.add(index, builderForValue.build());
            onChanged();
          } else {
            entriesBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
         */
        public Builder addAllEntries(
            java.lang.Iterable<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry> values) {
          if (entriesBuilder_ == null) {
            ensureEntriesIsMutable();
            akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
                values, entries_);
            onChanged();
          } else {
            entriesBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
         */
        public Builder clearEntries() {
          if (entriesBuilder_ == null) {
            entries_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
          } else {
            entriesBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
         */
        public Builder removeEntries(int index) {
          if (entriesBuilder_ == null) {
            ensureEntriesIsMutable();
            entries_.remove(index);
            onChanged();
          } else {
            entriesBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry.Builder getEntriesBuilder(
            int index) {
          return getEntriesFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.EntryOrBuilder getEntriesOrBuilder(
            int index) {
          if (entriesBuilder_ == null) {
            return entries_.get(index);  } else {
            return entriesBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
         */
        public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.EntryOrBuilder> 
             getEntriesOrBuilderList() {
          if (entriesBuilder_ != null) {
            return entriesBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(entries_);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry.Builder addEntriesBuilder() {
          return getEntriesFieldBuilder().addBuilder(
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry.getDefaultInstance());
        }
        /**
         * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry.Builder addEntriesBuilder(
            int index) {
          return getEntriesFieldBuilder().addBuilder(
              index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry.getDefaultInstance());
        }
        /**
         * <code>repeated .akka.cluster.ddata.Status.Entry entries = 3;</code>
         */
        public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry.Builder> 
             getEntriesBuilderList() {
          return getEntriesFieldBuilder().getBuilderList();
        }
        private akka.protobufv3.internal.RepeatedFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.EntryOrBuilder> 
            getEntriesFieldBuilder() {
          if (entriesBuilder_ == null) {
            entriesBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status.EntryOrBuilder>(
                    entries_,
                    ((bitField0_ & 0x00000004) != 0),
                    getParentForChildren(),
                    isClean());
            entries_ = null;
          }
          return entriesBuilder_;
        }
  
        private long toSystemUid_ ;
        /**
         * <code>optional sfixed64 toSystemUid = 4;</code>
         * @return Whether the toSystemUid field is set.
         */
        @java.lang.Override
        public boolean hasToSystemUid() {
          return ((bitField0_ & 0x00000008) != 0);
        }
        /**
         * <code>optional sfixed64 toSystemUid = 4;</code>
         * @return The toSystemUid.
         */
        @java.lang.Override
        public long getToSystemUid() {
          return toSystemUid_;
        }
        /**
         * <code>optional sfixed64 toSystemUid = 4;</code>
         * @param value The toSystemUid to set.
         * @return This builder for chaining.
         */
        public Builder setToSystemUid(long value) {
  
          toSystemUid_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>optional sfixed64 toSystemUid = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearToSystemUid() {
          bitField0_ = (bitField0_ & ~0x00000008);
          toSystemUid_ = 0L;
          onChanged();
          return this;
        }
  
        private long fromSystemUid_ ;
        /**
         * <code>optional sfixed64 fromSystemUid = 5;</code>
         * @return Whether the fromSystemUid field is set.
         */
        @java.lang.Override
        public boolean hasFromSystemUid() {
          return ((bitField0_ & 0x00000010) != 0);
        }
        /**
         * <code>optional sfixed64 fromSystemUid = 5;</code>
         * @return The fromSystemUid.
         */
        @java.lang.Override
        public long getFromSystemUid() {
          return fromSystemUid_;
        }
        /**
         * <code>optional sfixed64 fromSystemUid = 5;</code>
         * @param value The fromSystemUid to set.
         * @return This builder for chaining.
         */
        public Builder setFromSystemUid(long value) {
  
          fromSystemUid_ = value;
          bitField0_ |= 0x00000010;
          onChanged();
          return this;
        }
        /**
         * <code>optional sfixed64 fromSystemUid = 5;</code>
         * @return This builder for chaining.
         */
        public Builder clearFromSystemUid() {
          bitField0_ = (bitField0_ & ~0x00000010);
          fromSystemUid_ = 0L;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.Status)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.Status)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Status>
          PARSER = new akka.protobufv3.internal.AbstractParser<Status>() {
        @java.lang.Override
        public Status parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<Status> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<Status> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Status getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface GossipOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.Gossip)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required bool sendBack = 1;</code>
       * @return Whether the sendBack field is set.
       */
      boolean hasSendBack();
      /**
       * <code>required bool sendBack = 1;</code>
       * @return The sendBack.
       */
      boolean getSendBack();
  
      /**
       * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
       */
      java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry> 
          getEntriesList();
      /**
       * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry getEntries(int index);
      /**
       * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
       */
      int getEntriesCount();
      /**
       * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
       */
      java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.EntryOrBuilder> 
          getEntriesOrBuilderList();
      /**
       * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.EntryOrBuilder getEntriesOrBuilder(
          int index);
  
      /**
       * <code>optional sfixed64 toSystemUid = 3;</code>
       * @return Whether the toSystemUid field is set.
       */
      boolean hasToSystemUid();
      /**
       * <code>optional sfixed64 toSystemUid = 3;</code>
       * @return The toSystemUid.
       */
      long getToSystemUid();
  
      /**
       * <code>optional sfixed64 fromSystemUid = 4;</code>
       * @return Whether the fromSystemUid field is set.
       */
      boolean hasFromSystemUid();
      /**
       * <code>optional sfixed64 fromSystemUid = 4;</code>
       * @return The fromSystemUid.
       */
      long getFromSystemUid();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.Gossip}
     */
    public static final class Gossip extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.Gossip)
        GossipOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Gossip.newBuilder() to construct.
      private Gossip(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Gossip() {
        entries_ = java.util.Collections.emptyList();
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Gossip();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Gossip_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Gossip_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Builder.class);
      }
  
      public interface EntryOrBuilder extends
          // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.Gossip.Entry)
          akka.protobufv3.internal.MessageOrBuilder {
  
        /**
         * <code>required string key = 1;</code>
         * @return Whether the key field is set.
         */
        boolean hasKey();
        /**
         * <code>required string key = 1;</code>
         * @return The key.
         */
        java.lang.String getKey();
        /**
         * <code>required string key = 1;</code>
         * @return The bytes for key.
         */
        akka.protobufv3.internal.ByteString
            getKeyBytes();
  
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         * @return Whether the envelope field is set.
         */
        boolean hasEnvelope();
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         * @return The envelope.
         */
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope getEnvelope();
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         */
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder getEnvelopeOrBuilder();
  
        /**
         * <code>optional sint64 usedTimestamp = 3;</code>
         * @return Whether the usedTimestamp field is set.
         */
        boolean hasUsedTimestamp();
        /**
         * <code>optional sint64 usedTimestamp = 3;</code>
         * @return The usedTimestamp.
         */
        long getUsedTimestamp();
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.Gossip.Entry}
       */
      public static final class Entry extends
          akka.protobufv3.internal.GeneratedMessageV3 implements
          // @@protoc_insertion_point(message_implements:akka.cluster.ddata.Gossip.Entry)
          EntryOrBuilder {
      private static final long serialVersionUID = 0L;
        // Use Entry.newBuilder() to construct.
        private Entry(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
          super(builder);
        }
        private Entry() {
          key_ = "";
        }
  
        @java.lang.Override
        @SuppressWarnings({"unused"})
        protected java.lang.Object newInstance(
            akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
          return new Entry();
        }
  
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Gossip_Entry_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Gossip_Entry_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry.Builder.class);
        }
  
        private int bitField0_;
        public static final int KEY_FIELD_NUMBER = 1;
        @SuppressWarnings("serial")
        private volatile java.lang.Object key_ = "";
        /**
         * <code>required string key = 1;</code>
         * @return Whether the key field is set.
         */
        @java.lang.Override
        public boolean hasKey() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required string key = 1;</code>
         * @return The key.
         */
        @java.lang.Override
        public java.lang.String getKey() {
          java.lang.Object ref = key_;
          if (ref instanceof java.lang.String) {
            return (java.lang.String) ref;
          } else {
            akka.protobufv3.internal.ByteString bs = 
                (akka.protobufv3.internal.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              key_ = s;
            }
            return s;
          }
        }
        /**
         * <code>required string key = 1;</code>
         * @return The bytes for key.
         */
        @java.lang.Override
        public akka.protobufv3.internal.ByteString
            getKeyBytes() {
          java.lang.Object ref = key_;
          if (ref instanceof java.lang.String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            key_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
  
        public static final int ENVELOPE_FIELD_NUMBER = 2;
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope envelope_;
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         * @return Whether the envelope field is set.
         */
        @java.lang.Override
        public boolean hasEnvelope() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         * @return The envelope.
         */
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope getEnvelope() {
          return envelope_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance() : envelope_;
        }
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         */
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder getEnvelopeOrBuilder() {
          return envelope_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance() : envelope_;
        }
  
        public static final int USEDTIMESTAMP_FIELD_NUMBER = 3;
        private long usedTimestamp_ = 0L;
        /**
         * <code>optional sint64 usedTimestamp = 3;</code>
         * @return Whether the usedTimestamp field is set.
         */
        @java.lang.Override
        public boolean hasUsedTimestamp() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>optional sint64 usedTimestamp = 3;</code>
         * @return The usedTimestamp.
         */
        @java.lang.Override
        public long getUsedTimestamp() {
          return usedTimestamp_;
        }
  
        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 (!hasKey()) {
            memoizedIsInitialized = 0;
            return false;
          }
          if (!hasEnvelope()) {
            memoizedIsInitialized = 0;
            return false;
          }
          if (!getEnvelope().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
          memoizedIsInitialized = 1;
          return true;
        }
  
        @java.lang.Override
        public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                            throws java.io.IOException {
          if (((bitField0_ & 0x00000001) != 0)) {
            akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 1, key_);
          }
          if (((bitField0_ & 0x00000002) != 0)) {
            output.writeMessage(2, getEnvelope());
          }
          if (((bitField0_ & 0x00000004) != 0)) {
            output.writeSInt64(3, usedTimestamp_);
          }
          getUnknownFields().writeTo(output);
        }
  
        @java.lang.Override
        public int getSerializedSize() {
          int size = memoizedSize;
          if (size != -1) return size;
  
          size = 0;
          if (((bitField0_ & 0x00000001) != 0)) {
            size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(1, key_);
          }
          if (((bitField0_ & 0x00000002) != 0)) {
            size += akka.protobufv3.internal.CodedOutputStream
              .computeMessageSize(2, getEnvelope());
          }
          if (((bitField0_ & 0x00000004) != 0)) {
            size += akka.protobufv3.internal.CodedOutputStream
              .computeSInt64Size(3, usedTimestamp_);
          }
          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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry)) {
            return super.equals(obj);
          }
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry) obj;
  
          if (hasKey() != other.hasKey()) return false;
          if (hasKey()) {
            if (!getKey()
                .equals(other.getKey())) return false;
          }
          if (hasEnvelope() != other.hasEnvelope()) return false;
          if (hasEnvelope()) {
            if (!getEnvelope()
                .equals(other.getEnvelope())) return false;
          }
          if (hasUsedTimestamp() != other.hasUsedTimestamp()) return false;
          if (hasUsedTimestamp()) {
            if (getUsedTimestamp()
                != other.getUsedTimestamp()) 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 (hasKey()) {
            hash = (37 * hash) + KEY_FIELD_NUMBER;
            hash = (53 * hash) + getKey().hashCode();
          }
          if (hasEnvelope()) {
            hash = (37 * hash) + ENVELOPE_FIELD_NUMBER;
            hash = (53 * hash) + getEnvelope().hashCode();
          }
          if (hasUsedTimestamp()) {
            hash = (37 * hash) + USEDTIMESTAMP_FIELD_NUMBER;
            hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
                getUsedTimestamp());
          }
          hash = (29 * hash) + getUnknownFields().hashCode();
          memoizedHashCode = hash;
          return hash;
        }
  
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry parseFrom(
            java.nio.ByteBuffer data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry parseFrom(
            java.nio.ByteBuffer data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry parseFrom(
            akka.protobufv3.internal.ByteString data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry parseFrom(
            akka.protobufv3.internal.ByteString data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry parseFrom(byte[] data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry parseFrom(
            byte[] data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry parseFrom(
            java.io.InputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }
  
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input);
        }
  
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry parseDelimitedFrom(
            java.io.InputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry parseFrom(
            akka.protobufv3.internal.CodedInputStream input)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry parseFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry 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(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        /**
         * Protobuf type {@code akka.cluster.ddata.Gossip.Entry}
         */
        public static final class Builder extends
            akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
            // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.Gossip.Entry)
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.EntryOrBuilder {
          public static final akka.protobufv3.internal.Descriptors.Descriptor
              getDescriptor() {
            return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Gossip_Entry_descriptor;
          }
  
          @java.lang.Override
          protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Gossip_Entry_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry.Builder.class);
          }
  
          // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }
  
          private Builder(
              akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
            super(parent);
            maybeForceBuilderInitialization();
          }
          private void maybeForceBuilderInitialization() {
            if (akka.protobufv3.internal.GeneratedMessageV3
                    .alwaysUseFieldBuilders) {
              getEnvelopeFieldBuilder();
            }
          }
          @java.lang.Override
          public Builder clear() {
            super.clear();
            bitField0_ = 0;
            key_ = "";
            envelope_ = null;
            if (envelopeBuilder_ != null) {
              envelopeBuilder_.dispose();
              envelopeBuilder_ = null;
            }
            usedTimestamp_ = 0L;
            return this;
          }
  
          @java.lang.Override
          public akka.protobufv3.internal.Descriptors.Descriptor
              getDescriptorForType() {
            return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Gossip_Entry_descriptor;
          }
  
          @java.lang.Override
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry getDefaultInstanceForType() {
            return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry.getDefaultInstance();
          }
  
          @java.lang.Override
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry build() {
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }
  
          @java.lang.Override
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry buildPartial() {
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry(this);
            if (bitField0_ != 0) { buildPartial0(result); }
            onBuilt();
            return result;
          }
  
          private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry result) {
            int from_bitField0_ = bitField0_;
            int to_bitField0_ = 0;
            if (((from_bitField0_ & 0x00000001) != 0)) {
              result.key_ = key_;
              to_bitField0_ |= 0x00000001;
            }
            if (((from_bitField0_ & 0x00000002) != 0)) {
              result.envelope_ = envelopeBuilder_ == null
                  ? envelope_
                  : envelopeBuilder_.build();
              to_bitField0_ |= 0x00000002;
            }
            if (((from_bitField0_ & 0x00000004) != 0)) {
              result.usedTimestamp_ = usedTimestamp_;
              to_bitField0_ |= 0x00000004;
            }
            result.bitField0_ |= to_bitField0_;
          }
  
          @java.lang.Override
          public Builder clone() {
            return super.clone();
          }
          @java.lang.Override
          public Builder setField(
              akka.protobufv3.internal.Descriptors.FieldDescriptor field,
              java.lang.Object value) {
            return super.setField(field, value);
          }
          @java.lang.Override
          public Builder clearField(
              akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
            return super.clearField(field);
          }
          @java.lang.Override
          public Builder clearOneof(
              akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
            return super.clearOneof(oneof);
          }
          @java.lang.Override
          public Builder setRepeatedField(
              akka.protobufv3.internal.Descriptors.FieldDescriptor field,
              int index, java.lang.Object value) {
            return super.setRepeatedField(field, index, value);
          }
          @java.lang.Override
          public Builder addRepeatedField(
              akka.protobufv3.internal.Descriptors.FieldDescriptor field,
              java.lang.Object value) {
            return super.addRepeatedField(field, value);
          }
          @java.lang.Override
          public Builder mergeFrom(akka.protobufv3.internal.Message other) {
            if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry) {
              return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }
  
          public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry other) {
            if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry.getDefaultInstance()) return this;
            if (other.hasKey()) {
              key_ = other.key_;
              bitField0_ |= 0x00000001;
              onChanged();
            }
            if (other.hasEnvelope()) {
              mergeEnvelope(other.getEnvelope());
            }
            if (other.hasUsedTimestamp()) {
              setUsedTimestamp(other.getUsedTimestamp());
            }
            this.mergeUnknownFields(other.getUnknownFields());
            onChanged();
            return this;
          }
  
          @java.lang.Override
          public final boolean isInitialized() {
            if (!hasKey()) {
              return false;
            }
            if (!hasEnvelope()) {
              return false;
            }
            if (!getEnvelope().isInitialized()) {
              return false;
            }
            return true;
          }
  
          @java.lang.Override
          public Builder mergeFrom(
              akka.protobufv3.internal.CodedInputStream input,
              akka.protobufv3.internal.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: {
                    key_ = input.readBytes();
                    bitField0_ |= 0x00000001;
                    break;
                  } // case 10
                  case 18: {
                    input.readMessage(
                        getEnvelopeFieldBuilder().getBuilder(),
                        extensionRegistry);
                    bitField0_ |= 0x00000002;
                    break;
                  } // case 18
                  case 24: {
                    usedTimestamp_ = input.readSInt64();
                    bitField0_ |= 0x00000004;
                    break;
                  } // case 24
                  default: {
                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                      done = true; // was an endgroup tag
                    }
                    break;
                  } // default:
                } // switch (tag)
              } // while (!done)
            } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
              throw e.unwrapIOException();
            } finally {
              onChanged();
            } // finally
            return this;
          }
          private int bitField0_;
  
          private java.lang.Object key_ = "";
          /**
           * <code>required string key = 1;</code>
           * @return Whether the key field is set.
           */
          public boolean hasKey() {
            return ((bitField0_ & 0x00000001) != 0);
          }
          /**
           * <code>required string key = 1;</code>
           * @return The key.
           */
          public java.lang.String getKey() {
            java.lang.Object ref = key_;
            if (!(ref instanceof java.lang.String)) {
              akka.protobufv3.internal.ByteString bs =
                  (akka.protobufv3.internal.ByteString) ref;
              java.lang.String s = bs.toStringUtf8();
              if (bs.isValidUtf8()) {
                key_ = s;
              }
              return s;
            } else {
              return (java.lang.String) ref;
            }
          }
          /**
           * <code>required string key = 1;</code>
           * @return The bytes for key.
           */
          public akka.protobufv3.internal.ByteString
              getKeyBytes() {
            java.lang.Object ref = key_;
            if (ref instanceof String) {
              akka.protobufv3.internal.ByteString b = 
                  akka.protobufv3.internal.ByteString.copyFromUtf8(
                      (java.lang.String) ref);
              key_ = b;
              return b;
            } else {
              return (akka.protobufv3.internal.ByteString) ref;
            }
          }
          /**
           * <code>required string key = 1;</code>
           * @param value The key to set.
           * @return This builder for chaining.
           */
          public Builder setKey(
              java.lang.String value) {
            if (value == null) { throw new NullPointerException(); }
            key_ = value;
            bitField0_ |= 0x00000001;
            onChanged();
            return this;
          }
          /**
           * <code>required string key = 1;</code>
           * @return This builder for chaining.
           */
          public Builder clearKey() {
            key_ = getDefaultInstance().getKey();
            bitField0_ = (bitField0_ & ~0x00000001);
            onChanged();
            return this;
          }
          /**
           * <code>required string key = 1;</code>
           * @param value The bytes for key to set.
           * @return This builder for chaining.
           */
          public Builder setKeyBytes(
              akka.protobufv3.internal.ByteString value) {
            if (value == null) { throw new NullPointerException(); }
            key_ = value;
            bitField0_ |= 0x00000001;
            onChanged();
            return this;
          }
  
          private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope envelope_;
          private akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder> envelopeBuilder_;
          /**
           * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
           * @return Whether the envelope field is set.
           */
          public boolean hasEnvelope() {
            return ((bitField0_ & 0x00000002) != 0);
          }
          /**
           * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
           * @return The envelope.
           */
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope getEnvelope() {
            if (envelopeBuilder_ == null) {
              return envelope_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance() : envelope_;
            } else {
              return envelopeBuilder_.getMessage();
            }
          }
          /**
           * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
           */
          public Builder setEnvelope(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope value) {
            if (envelopeBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              envelope_ = value;
            } else {
              envelopeBuilder_.setMessage(value);
            }
            bitField0_ |= 0x00000002;
            onChanged();
            return this;
          }
          /**
           * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
           */
          public Builder setEnvelope(
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder builderForValue) {
            if (envelopeBuilder_ == null) {
              envelope_ = builderForValue.build();
            } else {
              envelopeBuilder_.setMessage(builderForValue.build());
            }
            bitField0_ |= 0x00000002;
            onChanged();
            return this;
          }
          /**
           * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
           */
          public Builder mergeEnvelope(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope value) {
            if (envelopeBuilder_ == null) {
              if (((bitField0_ & 0x00000002) != 0) &&
                envelope_ != null &&
                envelope_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance()) {
                getEnvelopeBuilder().mergeFrom(value);
              } else {
                envelope_ = value;
              }
            } else {
              envelopeBuilder_.mergeFrom(value);
            }
            if (envelope_ != null) {
              bitField0_ |= 0x00000002;
              onChanged();
            }
            return this;
          }
          /**
           * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
           */
          public Builder clearEnvelope() {
            bitField0_ = (bitField0_ & ~0x00000002);
            envelope_ = null;
            if (envelopeBuilder_ != null) {
              envelopeBuilder_.dispose();
              envelopeBuilder_ = null;
            }
            onChanged();
            return this;
          }
          /**
           * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
           */
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder getEnvelopeBuilder() {
            bitField0_ |= 0x00000002;
            onChanged();
            return getEnvelopeFieldBuilder().getBuilder();
          }
          /**
           * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
           */
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder getEnvelopeOrBuilder() {
            if (envelopeBuilder_ != null) {
              return envelopeBuilder_.getMessageOrBuilder();
            } else {
              return envelope_ == null ?
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance() : envelope_;
            }
          }
          /**
           * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
           */
          private akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder> 
              getEnvelopeFieldBuilder() {
            if (envelopeBuilder_ == null) {
              envelopeBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder>(
                      getEnvelope(),
                      getParentForChildren(),
                      isClean());
              envelope_ = null;
            }
            return envelopeBuilder_;
          }
  
          private long usedTimestamp_ ;
          /**
           * <code>optional sint64 usedTimestamp = 3;</code>
           * @return Whether the usedTimestamp field is set.
           */
          @java.lang.Override
          public boolean hasUsedTimestamp() {
            return ((bitField0_ & 0x00000004) != 0);
          }
          /**
           * <code>optional sint64 usedTimestamp = 3;</code>
           * @return The usedTimestamp.
           */
          @java.lang.Override
          public long getUsedTimestamp() {
            return usedTimestamp_;
          }
          /**
           * <code>optional sint64 usedTimestamp = 3;</code>
           * @param value The usedTimestamp to set.
           * @return This builder for chaining.
           */
          public Builder setUsedTimestamp(long value) {
  
            usedTimestamp_ = value;
            bitField0_ |= 0x00000004;
            onChanged();
            return this;
          }
          /**
           * <code>optional sint64 usedTimestamp = 3;</code>
           * @return This builder for chaining.
           */
          public Builder clearUsedTimestamp() {
            bitField0_ = (bitField0_ & ~0x00000004);
            usedTimestamp_ = 0L;
            onChanged();
            return this;
          }
          @java.lang.Override
          public final Builder setUnknownFields(
              final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
            return super.setUnknownFields(unknownFields);
          }
  
          @java.lang.Override
          public final Builder mergeUnknownFields(
              final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
            return super.mergeUnknownFields(unknownFields);
          }
  
  
          // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.Gossip.Entry)
        }
  
        // @@protoc_insertion_point(class_scope:akka.cluster.ddata.Gossip.Entry)
        private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry DEFAULT_INSTANCE;
        static {
          DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry();
        }
  
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }
  
        @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Entry>
            PARSER = new akka.protobufv3.internal.AbstractParser<Entry>() {
          @java.lang.Override
          public Entry parsePartialFrom(
              akka.protobufv3.internal.CodedInputStream input,
              akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
              throws akka.protobufv3.internal.InvalidProtocolBufferException {
            Builder builder = newBuilder();
            try {
              builder.mergeFrom(input, extensionRegistry);
            } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(builder.buildPartial());
            } catch (akka.protobufv3.internal.UninitializedMessageException e) {
              throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
            } catch (java.io.IOException e) {
              throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                  .setUnfinishedMessage(builder.buildPartial());
            }
            return builder.buildPartial();
          }
        };
  
        public static akka.protobufv3.internal.Parser<Entry> parser() {
          return PARSER;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Parser<Entry> getParserForType() {
          return PARSER;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry getDefaultInstanceForType() {
          return DEFAULT_INSTANCE;
        }
  
      }
  
      private int bitField0_;
      public static final int SENDBACK_FIELD_NUMBER = 1;
      private boolean sendBack_ = false;
      /**
       * <code>required bool sendBack = 1;</code>
       * @return Whether the sendBack field is set.
       */
      @java.lang.Override
      public boolean hasSendBack() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required bool sendBack = 1;</code>
       * @return The sendBack.
       */
      @java.lang.Override
      public boolean getSendBack() {
        return sendBack_;
      }
  
      public static final int ENTRIES_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry> entries_;
      /**
       * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
       */
      @java.lang.Override
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry> getEntriesList() {
        return entries_;
      }
      /**
       * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
       */
      @java.lang.Override
      public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.EntryOrBuilder> 
          getEntriesOrBuilderList() {
        return entries_;
      }
      /**
       * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
       */
      @java.lang.Override
      public int getEntriesCount() {
        return entries_.size();
      }
      /**
       * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry getEntries(int index) {
        return entries_.get(index);
      }
      /**
       * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.EntryOrBuilder getEntriesOrBuilder(
          int index) {
        return entries_.get(index);
      }
  
      public static final int TOSYSTEMUID_FIELD_NUMBER = 3;
      private long toSystemUid_ = 0L;
      /**
       * <code>optional sfixed64 toSystemUid = 3;</code>
       * @return Whether the toSystemUid field is set.
       */
      @java.lang.Override
      public boolean hasToSystemUid() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional sfixed64 toSystemUid = 3;</code>
       * @return The toSystemUid.
       */
      @java.lang.Override
      public long getToSystemUid() {
        return toSystemUid_;
      }
  
      public static final int FROMSYSTEMUID_FIELD_NUMBER = 4;
      private long fromSystemUid_ = 0L;
      /**
       * <code>optional sfixed64 fromSystemUid = 4;</code>
       * @return Whether the fromSystemUid field is set.
       */
      @java.lang.Override
      public boolean hasFromSystemUid() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional sfixed64 fromSystemUid = 4;</code>
       * @return The fromSystemUid.
       */
      @java.lang.Override
      public long getFromSystemUid() {
        return fromSystemUid_;
      }
  
      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 (!hasSendBack()) {
          memoizedIsInitialized = 0;
          return false;
        }
        for (int i = 0; i < getEntriesCount(); i++) {
          if (!getEntries(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeBool(1, sendBack_);
        }
        for (int i = 0; i < entries_.size(); i++) {
          output.writeMessage(2, entries_.get(i));
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeSFixed64(3, toSystemUid_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeSFixed64(4, fromSystemUid_);
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeBoolSize(1, sendBack_);
        }
        for (int i = 0; i < entries_.size(); i++) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(2, entries_.get(i));
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeSFixed64Size(3, toSystemUid_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeSFixed64Size(4, fromSystemUid_);
        }
        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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip) obj;
  
        if (hasSendBack() != other.hasSendBack()) return false;
        if (hasSendBack()) {
          if (getSendBack()
              != other.getSendBack()) return false;
        }
        if (!getEntriesList()
            .equals(other.getEntriesList())) return false;
        if (hasToSystemUid() != other.hasToSystemUid()) return false;
        if (hasToSystemUid()) {
          if (getToSystemUid()
              != other.getToSystemUid()) return false;
        }
        if (hasFromSystemUid() != other.hasFromSystemUid()) return false;
        if (hasFromSystemUid()) {
          if (getFromSystemUid()
              != other.getFromSystemUid()) 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 (hasSendBack()) {
          hash = (37 * hash) + SENDBACK_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashBoolean(
              getSendBack());
        }
        if (getEntriesCount() > 0) {
          hash = (37 * hash) + ENTRIES_FIELD_NUMBER;
          hash = (53 * hash) + getEntriesList().hashCode();
        }
        if (hasToSystemUid()) {
          hash = (37 * hash) + TOSYSTEMUID_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getToSystemUid());
        }
        if (hasFromSystemUid()) {
          hash = (37 * hash) + FROMSYSTEMUID_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getFromSystemUid());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.Gossip}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.Gossip)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.GossipOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Gossip_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Gossip_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.newBuilder()
        private Builder() {
  
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
  
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          sendBack_ = false;
          if (entriesBuilder_ == null) {
            entries_ = java.util.Collections.emptyList();
          } else {
            entries_ = null;
            entriesBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          toSystemUid_ = 0L;
          fromSystemUid_ = 0L;
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Gossip_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip(this);
          buildPartialRepeatedFields(result);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartialRepeatedFields(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip result) {
          if (entriesBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0)) {
              entries_ = java.util.Collections.unmodifiableList(entries_);
              bitField0_ = (bitField0_ & ~0x00000002);
            }
            result.entries_ = entries_;
          } else {
            result.entries_ = entriesBuilder_.build();
          }
        }
  
        private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.sendBack_ = sendBack_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.toSystemUid_ = toSystemUid_;
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.fromSystemUid_ = fromSystemUid_;
            to_bitField0_ |= 0x00000004;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.getDefaultInstance()) return this;
          if (other.hasSendBack()) {
            setSendBack(other.getSendBack());
          }
          if (entriesBuilder_ == null) {
            if (!other.entries_.isEmpty()) {
              if (entries_.isEmpty()) {
                entries_ = other.entries_;
                bitField0_ = (bitField0_ & ~0x00000002);
              } else {
                ensureEntriesIsMutable();
                entries_.addAll(other.entries_);
              }
              onChanged();
            }
          } else {
            if (!other.entries_.isEmpty()) {
              if (entriesBuilder_.isEmpty()) {
                entriesBuilder_.dispose();
                entriesBuilder_ = null;
                entries_ = other.entries_;
                bitField0_ = (bitField0_ & ~0x00000002);
                entriesBuilder_ = 
                  akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getEntriesFieldBuilder() : null;
              } else {
                entriesBuilder_.addAllMessages(other.entries_);
              }
            }
          }
          if (other.hasToSystemUid()) {
            setToSystemUid(other.getToSystemUid());
          }
          if (other.hasFromSystemUid()) {
            setFromSystemUid(other.getFromSystemUid());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasSendBack()) {
            return false;
          }
          for (int i = 0; i < getEntriesCount(); i++) {
            if (!getEntries(i).isInitialized()) {
              return false;
            }
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.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: {
                  sendBack_ = input.readBool();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 8
                case 18: {
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry m =
                      input.readMessage(
                          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry.PARSER,
                          extensionRegistry);
                  if (entriesBuilder_ == null) {
                    ensureEntriesIsMutable();
                    entries_.add(m);
                  } else {
                    entriesBuilder_.addMessage(m);
                  }
                  break;
                } // case 18
                case 25: {
                  toSystemUid_ = input.readSFixed64();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 25
                case 33: {
                  fromSystemUid_ = input.readSFixed64();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 33
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private boolean sendBack_ ;
        /**
         * <code>required bool sendBack = 1;</code>
         * @return Whether the sendBack field is set.
         */
        @java.lang.Override
        public boolean hasSendBack() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required bool sendBack = 1;</code>
         * @return The sendBack.
         */
        @java.lang.Override
        public boolean getSendBack() {
          return sendBack_;
        }
        /**
         * <code>required bool sendBack = 1;</code>
         * @param value The sendBack to set.
         * @return This builder for chaining.
         */
        public Builder setSendBack(boolean value) {
  
          sendBack_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required bool sendBack = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearSendBack() {
          bitField0_ = (bitField0_ & ~0x00000001);
          sendBack_ = false;
          onChanged();
          return this;
        }
  
        private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry> entries_ =
          java.util.Collections.emptyList();
        private void ensureEntriesIsMutable() {
          if (!((bitField0_ & 0x00000002) != 0)) {
            entries_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry>(entries_);
            bitField0_ |= 0x00000002;
           }
        }
  
        private akka.protobufv3.internal.RepeatedFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.EntryOrBuilder> entriesBuilder_;
  
        /**
         * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
         */
        public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry> getEntriesList() {
          if (entriesBuilder_ == null) {
            return java.util.Collections.unmodifiableList(entries_);
          } else {
            return entriesBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
         */
        public int getEntriesCount() {
          if (entriesBuilder_ == null) {
            return entries_.size();
          } else {
            return entriesBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry getEntries(int index) {
          if (entriesBuilder_ == null) {
            return entries_.get(index);
          } else {
            return entriesBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
         */
        public Builder setEntries(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry value) {
          if (entriesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntriesIsMutable();
            entries_.set(index, value);
            onChanged();
          } else {
            entriesBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
         */
        public Builder setEntries(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry.Builder builderForValue) {
          if (entriesBuilder_ == null) {
            ensureEntriesIsMutable();
            entries_.set(index, builderForValue.build());
            onChanged();
          } else {
            entriesBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
         */
        public Builder addEntries(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry value) {
          if (entriesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntriesIsMutable();
            entries_.add(value);
            onChanged();
          } else {
            entriesBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
         */
        public Builder addEntries(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry value) {
          if (entriesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntriesIsMutable();
            entries_.add(index, value);
            onChanged();
          } else {
            entriesBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
         */
        public Builder addEntries(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry.Builder builderForValue) {
          if (entriesBuilder_ == null) {
            ensureEntriesIsMutable();
            entries_.add(builderForValue.build());
            onChanged();
          } else {
            entriesBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
         */
        public Builder addEntries(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry.Builder builderForValue) {
          if (entriesBuilder_ == null) {
            ensureEntriesIsMutable();
            entries_.add(index, builderForValue.build());
            onChanged();
          } else {
            entriesBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
         */
        public Builder addAllEntries(
            java.lang.Iterable<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry> values) {
          if (entriesBuilder_ == null) {
            ensureEntriesIsMutable();
            akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
                values, entries_);
            onChanged();
          } else {
            entriesBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
         */
        public Builder clearEntries() {
          if (entriesBuilder_ == null) {
            entries_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
            onChanged();
          } else {
            entriesBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
         */
        public Builder removeEntries(int index) {
          if (entriesBuilder_ == null) {
            ensureEntriesIsMutable();
            entries_.remove(index);
            onChanged();
          } else {
            entriesBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry.Builder getEntriesBuilder(
            int index) {
          return getEntriesFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.EntryOrBuilder getEntriesOrBuilder(
            int index) {
          if (entriesBuilder_ == null) {
            return entries_.get(index);  } else {
            return entriesBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
         */
        public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.EntryOrBuilder> 
             getEntriesOrBuilderList() {
          if (entriesBuilder_ != null) {
            return entriesBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(entries_);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry.Builder addEntriesBuilder() {
          return getEntriesFieldBuilder().addBuilder(
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry.getDefaultInstance());
        }
        /**
         * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry.Builder addEntriesBuilder(
            int index) {
          return getEntriesFieldBuilder().addBuilder(
              index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry.getDefaultInstance());
        }
        /**
         * <code>repeated .akka.cluster.ddata.Gossip.Entry entries = 2;</code>
         */
        public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry.Builder> 
             getEntriesBuilderList() {
          return getEntriesFieldBuilder().getBuilderList();
        }
        private akka.protobufv3.internal.RepeatedFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.EntryOrBuilder> 
            getEntriesFieldBuilder() {
          if (entriesBuilder_ == null) {
            entriesBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip.EntryOrBuilder>(
                    entries_,
                    ((bitField0_ & 0x00000002) != 0),
                    getParentForChildren(),
                    isClean());
            entries_ = null;
          }
          return entriesBuilder_;
        }
  
        private long toSystemUid_ ;
        /**
         * <code>optional sfixed64 toSystemUid = 3;</code>
         * @return Whether the toSystemUid field is set.
         */
        @java.lang.Override
        public boolean hasToSystemUid() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>optional sfixed64 toSystemUid = 3;</code>
         * @return The toSystemUid.
         */
        @java.lang.Override
        public long getToSystemUid() {
          return toSystemUid_;
        }
        /**
         * <code>optional sfixed64 toSystemUid = 3;</code>
         * @param value The toSystemUid to set.
         * @return This builder for chaining.
         */
        public Builder setToSystemUid(long value) {
  
          toSystemUid_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>optional sfixed64 toSystemUid = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearToSystemUid() {
          bitField0_ = (bitField0_ & ~0x00000004);
          toSystemUid_ = 0L;
          onChanged();
          return this;
        }
  
        private long fromSystemUid_ ;
        /**
         * <code>optional sfixed64 fromSystemUid = 4;</code>
         * @return Whether the fromSystemUid field is set.
         */
        @java.lang.Override
        public boolean hasFromSystemUid() {
          return ((bitField0_ & 0x00000008) != 0);
        }
        /**
         * <code>optional sfixed64 fromSystemUid = 4;</code>
         * @return The fromSystemUid.
         */
        @java.lang.Override
        public long getFromSystemUid() {
          return fromSystemUid_;
        }
        /**
         * <code>optional sfixed64 fromSystemUid = 4;</code>
         * @param value The fromSystemUid to set.
         * @return This builder for chaining.
         */
        public Builder setFromSystemUid(long value) {
  
          fromSystemUid_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>optional sfixed64 fromSystemUid = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearFromSystemUid() {
          bitField0_ = (bitField0_ & ~0x00000008);
          fromSystemUid_ = 0L;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.Gossip)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.Gossip)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Gossip>
          PARSER = new akka.protobufv3.internal.AbstractParser<Gossip>() {
        @java.lang.Override
        public Gossip parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<Gossip> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<Gossip> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Gossip getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface DeltaPropagationOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.DeltaPropagation)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required .akka.cluster.ddata.UniqueAddress fromNode = 1;</code>
       * @return Whether the fromNode field is set.
       */
      boolean hasFromNode();
      /**
       * <code>required .akka.cluster.ddata.UniqueAddress fromNode = 1;</code>
       * @return The fromNode.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getFromNode();
      /**
       * <code>required .akka.cluster.ddata.UniqueAddress fromNode = 1;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getFromNodeOrBuilder();
  
      /**
       * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
       */
      java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry> 
          getEntriesList();
      /**
       * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry getEntries(int index);
      /**
       * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
       */
      int getEntriesCount();
      /**
       * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
       */
      java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.EntryOrBuilder> 
          getEntriesOrBuilderList();
      /**
       * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.EntryOrBuilder getEntriesOrBuilder(
          int index);
  
      /**
       * <pre>
       * no reply if not set
       * </pre>
       *
       * <code>optional bool reply = 3;</code>
       * @return Whether the reply field is set.
       */
      boolean hasReply();
      /**
       * <pre>
       * no reply if not set
       * </pre>
       *
       * <code>optional bool reply = 3;</code>
       * @return The reply.
       */
      boolean getReply();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.DeltaPropagation}
     */
    public static final class DeltaPropagation extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.DeltaPropagation)
        DeltaPropagationOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use DeltaPropagation.newBuilder() to construct.
      private DeltaPropagation(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private DeltaPropagation() {
        entries_ = java.util.Collections.emptyList();
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new DeltaPropagation();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DeltaPropagation_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DeltaPropagation_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Builder.class);
      }
  
      public interface EntryOrBuilder extends
          // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.DeltaPropagation.Entry)
          akka.protobufv3.internal.MessageOrBuilder {
  
        /**
         * <code>required string key = 1;</code>
         * @return Whether the key field is set.
         */
        boolean hasKey();
        /**
         * <code>required string key = 1;</code>
         * @return The key.
         */
        java.lang.String getKey();
        /**
         * <code>required string key = 1;</code>
         * @return The bytes for key.
         */
        akka.protobufv3.internal.ByteString
            getKeyBytes();
  
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         * @return Whether the envelope field is set.
         */
        boolean hasEnvelope();
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         * @return The envelope.
         */
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope getEnvelope();
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         */
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder getEnvelopeOrBuilder();
  
        /**
         * <code>required int64 fromSeqNr = 3;</code>
         * @return Whether the fromSeqNr field is set.
         */
        boolean hasFromSeqNr();
        /**
         * <code>required int64 fromSeqNr = 3;</code>
         * @return The fromSeqNr.
         */
        long getFromSeqNr();
  
        /**
         * <pre>
         * if not set then same as fromSequenceNr
         * </pre>
         *
         * <code>optional int64 toSeqNr = 4;</code>
         * @return Whether the toSeqNr field is set.
         */
        boolean hasToSeqNr();
        /**
         * <pre>
         * if not set then same as fromSequenceNr
         * </pre>
         *
         * <code>optional int64 toSeqNr = 4;</code>
         * @return The toSeqNr.
         */
        long getToSeqNr();
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.DeltaPropagation.Entry}
       */
      public static final class Entry extends
          akka.protobufv3.internal.GeneratedMessageV3 implements
          // @@protoc_insertion_point(message_implements:akka.cluster.ddata.DeltaPropagation.Entry)
          EntryOrBuilder {
      private static final long serialVersionUID = 0L;
        // Use Entry.newBuilder() to construct.
        private Entry(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
          super(builder);
        }
        private Entry() {
          key_ = "";
        }
  
        @java.lang.Override
        @SuppressWarnings({"unused"})
        protected java.lang.Object newInstance(
            akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
          return new Entry();
        }
  
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DeltaPropagation_Entry_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DeltaPropagation_Entry_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry.Builder.class);
        }
  
        private int bitField0_;
        public static final int KEY_FIELD_NUMBER = 1;
        @SuppressWarnings("serial")
        private volatile java.lang.Object key_ = "";
        /**
         * <code>required string key = 1;</code>
         * @return Whether the key field is set.
         */
        @java.lang.Override
        public boolean hasKey() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required string key = 1;</code>
         * @return The key.
         */
        @java.lang.Override
        public java.lang.String getKey() {
          java.lang.Object ref = key_;
          if (ref instanceof java.lang.String) {
            return (java.lang.String) ref;
          } else {
            akka.protobufv3.internal.ByteString bs = 
                (akka.protobufv3.internal.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              key_ = s;
            }
            return s;
          }
        }
        /**
         * <code>required string key = 1;</code>
         * @return The bytes for key.
         */
        @java.lang.Override
        public akka.protobufv3.internal.ByteString
            getKeyBytes() {
          java.lang.Object ref = key_;
          if (ref instanceof java.lang.String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            key_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
  
        public static final int ENVELOPE_FIELD_NUMBER = 2;
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope envelope_;
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         * @return Whether the envelope field is set.
         */
        @java.lang.Override
        public boolean hasEnvelope() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         * @return The envelope.
         */
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope getEnvelope() {
          return envelope_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance() : envelope_;
        }
        /**
         * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
         */
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder getEnvelopeOrBuilder() {
          return envelope_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance() : envelope_;
        }
  
        public static final int FROMSEQNR_FIELD_NUMBER = 3;
        private long fromSeqNr_ = 0L;
        /**
         * <code>required int64 fromSeqNr = 3;</code>
         * @return Whether the fromSeqNr field is set.
         */
        @java.lang.Override
        public boolean hasFromSeqNr() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>required int64 fromSeqNr = 3;</code>
         * @return The fromSeqNr.
         */
        @java.lang.Override
        public long getFromSeqNr() {
          return fromSeqNr_;
        }
  
        public static final int TOSEQNR_FIELD_NUMBER = 4;
        private long toSeqNr_ = 0L;
        /**
         * <pre>
         * if not set then same as fromSequenceNr
         * </pre>
         *
         * <code>optional int64 toSeqNr = 4;</code>
         * @return Whether the toSeqNr field is set.
         */
        @java.lang.Override
        public boolean hasToSeqNr() {
          return ((bitField0_ & 0x00000008) != 0);
        }
        /**
         * <pre>
         * if not set then same as fromSequenceNr
         * </pre>
         *
         * <code>optional int64 toSeqNr = 4;</code>
         * @return The toSeqNr.
         */
        @java.lang.Override
        public long getToSeqNr() {
          return toSeqNr_;
        }
  
        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 (!hasKey()) {
            memoizedIsInitialized = 0;
            return false;
          }
          if (!hasEnvelope()) {
            memoizedIsInitialized = 0;
            return false;
          }
          if (!hasFromSeqNr()) {
            memoizedIsInitialized = 0;
            return false;
          }
          if (!getEnvelope().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
          memoizedIsInitialized = 1;
          return true;
        }
  
        @java.lang.Override
        public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                            throws java.io.IOException {
          if (((bitField0_ & 0x00000001) != 0)) {
            akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 1, key_);
          }
          if (((bitField0_ & 0x00000002) != 0)) {
            output.writeMessage(2, getEnvelope());
          }
          if (((bitField0_ & 0x00000004) != 0)) {
            output.writeInt64(3, fromSeqNr_);
          }
          if (((bitField0_ & 0x00000008) != 0)) {
            output.writeInt64(4, toSeqNr_);
          }
          getUnknownFields().writeTo(output);
        }
  
        @java.lang.Override
        public int getSerializedSize() {
          int size = memoizedSize;
          if (size != -1) return size;
  
          size = 0;
          if (((bitField0_ & 0x00000001) != 0)) {
            size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(1, key_);
          }
          if (((bitField0_ & 0x00000002) != 0)) {
            size += akka.protobufv3.internal.CodedOutputStream
              .computeMessageSize(2, getEnvelope());
          }
          if (((bitField0_ & 0x00000004) != 0)) {
            size += akka.protobufv3.internal.CodedOutputStream
              .computeInt64Size(3, fromSeqNr_);
          }
          if (((bitField0_ & 0x00000008) != 0)) {
            size += akka.protobufv3.internal.CodedOutputStream
              .computeInt64Size(4, toSeqNr_);
          }
          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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry)) {
            return super.equals(obj);
          }
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry) obj;
  
          if (hasKey() != other.hasKey()) return false;
          if (hasKey()) {
            if (!getKey()
                .equals(other.getKey())) return false;
          }
          if (hasEnvelope() != other.hasEnvelope()) return false;
          if (hasEnvelope()) {
            if (!getEnvelope()
                .equals(other.getEnvelope())) return false;
          }
          if (hasFromSeqNr() != other.hasFromSeqNr()) return false;
          if (hasFromSeqNr()) {
            if (getFromSeqNr()
                != other.getFromSeqNr()) return false;
          }
          if (hasToSeqNr() != other.hasToSeqNr()) return false;
          if (hasToSeqNr()) {
            if (getToSeqNr()
                != other.getToSeqNr()) 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 (hasKey()) {
            hash = (37 * hash) + KEY_FIELD_NUMBER;
            hash = (53 * hash) + getKey().hashCode();
          }
          if (hasEnvelope()) {
            hash = (37 * hash) + ENVELOPE_FIELD_NUMBER;
            hash = (53 * hash) + getEnvelope().hashCode();
          }
          if (hasFromSeqNr()) {
            hash = (37 * hash) + FROMSEQNR_FIELD_NUMBER;
            hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
                getFromSeqNr());
          }
          if (hasToSeqNr()) {
            hash = (37 * hash) + TOSEQNR_FIELD_NUMBER;
            hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
                getToSeqNr());
          }
          hash = (29 * hash) + getUnknownFields().hashCode();
          memoizedHashCode = hash;
          return hash;
        }
  
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry parseFrom(
            java.nio.ByteBuffer data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry parseFrom(
            java.nio.ByteBuffer data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry parseFrom(
            akka.protobufv3.internal.ByteString data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry parseFrom(
            akka.protobufv3.internal.ByteString data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry parseFrom(byte[] data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry parseFrom(
            byte[] data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry parseFrom(
            java.io.InputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }
  
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input);
        }
  
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry parseDelimitedFrom(
            java.io.InputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry parseFrom(
            akka.protobufv3.internal.CodedInputStream input)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry parseFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry 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(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        /**
         * Protobuf type {@code akka.cluster.ddata.DeltaPropagation.Entry}
         */
        public static final class Builder extends
            akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
            // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.DeltaPropagation.Entry)
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.EntryOrBuilder {
          public static final akka.protobufv3.internal.Descriptors.Descriptor
              getDescriptor() {
            return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DeltaPropagation_Entry_descriptor;
          }
  
          @java.lang.Override
          protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DeltaPropagation_Entry_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry.Builder.class);
          }
  
          // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }
  
          private Builder(
              akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
            super(parent);
            maybeForceBuilderInitialization();
          }
          private void maybeForceBuilderInitialization() {
            if (akka.protobufv3.internal.GeneratedMessageV3
                    .alwaysUseFieldBuilders) {
              getEnvelopeFieldBuilder();
            }
          }
          @java.lang.Override
          public Builder clear() {
            super.clear();
            bitField0_ = 0;
            key_ = "";
            envelope_ = null;
            if (envelopeBuilder_ != null) {
              envelopeBuilder_.dispose();
              envelopeBuilder_ = null;
            }
            fromSeqNr_ = 0L;
            toSeqNr_ = 0L;
            return this;
          }
  
          @java.lang.Override
          public akka.protobufv3.internal.Descriptors.Descriptor
              getDescriptorForType() {
            return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DeltaPropagation_Entry_descriptor;
          }
  
          @java.lang.Override
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry getDefaultInstanceForType() {
            return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry.getDefaultInstance();
          }
  
          @java.lang.Override
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry build() {
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }
  
          @java.lang.Override
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry buildPartial() {
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry(this);
            if (bitField0_ != 0) { buildPartial0(result); }
            onBuilt();
            return result;
          }
  
          private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry result) {
            int from_bitField0_ = bitField0_;
            int to_bitField0_ = 0;
            if (((from_bitField0_ & 0x00000001) != 0)) {
              result.key_ = key_;
              to_bitField0_ |= 0x00000001;
            }
            if (((from_bitField0_ & 0x00000002) != 0)) {
              result.envelope_ = envelopeBuilder_ == null
                  ? envelope_
                  : envelopeBuilder_.build();
              to_bitField0_ |= 0x00000002;
            }
            if (((from_bitField0_ & 0x00000004) != 0)) {
              result.fromSeqNr_ = fromSeqNr_;
              to_bitField0_ |= 0x00000004;
            }
            if (((from_bitField0_ & 0x00000008) != 0)) {
              result.toSeqNr_ = toSeqNr_;
              to_bitField0_ |= 0x00000008;
            }
            result.bitField0_ |= to_bitField0_;
          }
  
          @java.lang.Override
          public Builder clone() {
            return super.clone();
          }
          @java.lang.Override
          public Builder setField(
              akka.protobufv3.internal.Descriptors.FieldDescriptor field,
              java.lang.Object value) {
            return super.setField(field, value);
          }
          @java.lang.Override
          public Builder clearField(
              akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
            return super.clearField(field);
          }
          @java.lang.Override
          public Builder clearOneof(
              akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
            return super.clearOneof(oneof);
          }
          @java.lang.Override
          public Builder setRepeatedField(
              akka.protobufv3.internal.Descriptors.FieldDescriptor field,
              int index, java.lang.Object value) {
            return super.setRepeatedField(field, index, value);
          }
          @java.lang.Override
          public Builder addRepeatedField(
              akka.protobufv3.internal.Descriptors.FieldDescriptor field,
              java.lang.Object value) {
            return super.addRepeatedField(field, value);
          }
          @java.lang.Override
          public Builder mergeFrom(akka.protobufv3.internal.Message other) {
            if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry) {
              return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }
  
          public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry other) {
            if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry.getDefaultInstance()) return this;
            if (other.hasKey()) {
              key_ = other.key_;
              bitField0_ |= 0x00000001;
              onChanged();
            }
            if (other.hasEnvelope()) {
              mergeEnvelope(other.getEnvelope());
            }
            if (other.hasFromSeqNr()) {
              setFromSeqNr(other.getFromSeqNr());
            }
            if (other.hasToSeqNr()) {
              setToSeqNr(other.getToSeqNr());
            }
            this.mergeUnknownFields(other.getUnknownFields());
            onChanged();
            return this;
          }
  
          @java.lang.Override
          public final boolean isInitialized() {
            if (!hasKey()) {
              return false;
            }
            if (!hasEnvelope()) {
              return false;
            }
            if (!hasFromSeqNr()) {
              return false;
            }
            if (!getEnvelope().isInitialized()) {
              return false;
            }
            return true;
          }
  
          @java.lang.Override
          public Builder mergeFrom(
              akka.protobufv3.internal.CodedInputStream input,
              akka.protobufv3.internal.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: {
                    key_ = input.readBytes();
                    bitField0_ |= 0x00000001;
                    break;
                  } // case 10
                  case 18: {
                    input.readMessage(
                        getEnvelopeFieldBuilder().getBuilder(),
                        extensionRegistry);
                    bitField0_ |= 0x00000002;
                    break;
                  } // case 18
                  case 24: {
                    fromSeqNr_ = input.readInt64();
                    bitField0_ |= 0x00000004;
                    break;
                  } // case 24
                  case 32: {
                    toSeqNr_ = input.readInt64();
                    bitField0_ |= 0x00000008;
                    break;
                  } // case 32
                  default: {
                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                      done = true; // was an endgroup tag
                    }
                    break;
                  } // default:
                } // switch (tag)
              } // while (!done)
            } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
              throw e.unwrapIOException();
            } finally {
              onChanged();
            } // finally
            return this;
          }
          private int bitField0_;
  
          private java.lang.Object key_ = "";
          /**
           * <code>required string key = 1;</code>
           * @return Whether the key field is set.
           */
          public boolean hasKey() {
            return ((bitField0_ & 0x00000001) != 0);
          }
          /**
           * <code>required string key = 1;</code>
           * @return The key.
           */
          public java.lang.String getKey() {
            java.lang.Object ref = key_;
            if (!(ref instanceof java.lang.String)) {
              akka.protobufv3.internal.ByteString bs =
                  (akka.protobufv3.internal.ByteString) ref;
              java.lang.String s = bs.toStringUtf8();
              if (bs.isValidUtf8()) {
                key_ = s;
              }
              return s;
            } else {
              return (java.lang.String) ref;
            }
          }
          /**
           * <code>required string key = 1;</code>
           * @return The bytes for key.
           */
          public akka.protobufv3.internal.ByteString
              getKeyBytes() {
            java.lang.Object ref = key_;
            if (ref instanceof String) {
              akka.protobufv3.internal.ByteString b = 
                  akka.protobufv3.internal.ByteString.copyFromUtf8(
                      (java.lang.String) ref);
              key_ = b;
              return b;
            } else {
              return (akka.protobufv3.internal.ByteString) ref;
            }
          }
          /**
           * <code>required string key = 1;</code>
           * @param value The key to set.
           * @return This builder for chaining.
           */
          public Builder setKey(
              java.lang.String value) {
            if (value == null) { throw new NullPointerException(); }
            key_ = value;
            bitField0_ |= 0x00000001;
            onChanged();
            return this;
          }
          /**
           * <code>required string key = 1;</code>
           * @return This builder for chaining.
           */
          public Builder clearKey() {
            key_ = getDefaultInstance().getKey();
            bitField0_ = (bitField0_ & ~0x00000001);
            onChanged();
            return this;
          }
          /**
           * <code>required string key = 1;</code>
           * @param value The bytes for key to set.
           * @return This builder for chaining.
           */
          public Builder setKeyBytes(
              akka.protobufv3.internal.ByteString value) {
            if (value == null) { throw new NullPointerException(); }
            key_ = value;
            bitField0_ |= 0x00000001;
            onChanged();
            return this;
          }
  
          private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope envelope_;
          private akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder> envelopeBuilder_;
          /**
           * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
           * @return Whether the envelope field is set.
           */
          public boolean hasEnvelope() {
            return ((bitField0_ & 0x00000002) != 0);
          }
          /**
           * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
           * @return The envelope.
           */
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope getEnvelope() {
            if (envelopeBuilder_ == null) {
              return envelope_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance() : envelope_;
            } else {
              return envelopeBuilder_.getMessage();
            }
          }
          /**
           * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
           */
          public Builder setEnvelope(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope value) {
            if (envelopeBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              envelope_ = value;
            } else {
              envelopeBuilder_.setMessage(value);
            }
            bitField0_ |= 0x00000002;
            onChanged();
            return this;
          }
          /**
           * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
           */
          public Builder setEnvelope(
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder builderForValue) {
            if (envelopeBuilder_ == null) {
              envelope_ = builderForValue.build();
            } else {
              envelopeBuilder_.setMessage(builderForValue.build());
            }
            bitField0_ |= 0x00000002;
            onChanged();
            return this;
          }
          /**
           * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
           */
          public Builder mergeEnvelope(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope value) {
            if (envelopeBuilder_ == null) {
              if (((bitField0_ & 0x00000002) != 0) &&
                envelope_ != null &&
                envelope_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance()) {
                getEnvelopeBuilder().mergeFrom(value);
              } else {
                envelope_ = value;
              }
            } else {
              envelopeBuilder_.mergeFrom(value);
            }
            if (envelope_ != null) {
              bitField0_ |= 0x00000002;
              onChanged();
            }
            return this;
          }
          /**
           * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
           */
          public Builder clearEnvelope() {
            bitField0_ = (bitField0_ & ~0x00000002);
            envelope_ = null;
            if (envelopeBuilder_ != null) {
              envelopeBuilder_.dispose();
              envelopeBuilder_ = null;
            }
            onChanged();
            return this;
          }
          /**
           * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
           */
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder getEnvelopeBuilder() {
            bitField0_ |= 0x00000002;
            onChanged();
            return getEnvelopeFieldBuilder().getBuilder();
          }
          /**
           * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
           */
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder getEnvelopeOrBuilder() {
            if (envelopeBuilder_ != null) {
              return envelopeBuilder_.getMessageOrBuilder();
            } else {
              return envelope_ == null ?
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.getDefaultInstance() : envelope_;
            }
          }
          /**
           * <code>required .akka.cluster.ddata.DataEnvelope envelope = 2;</code>
           */
          private akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder> 
              getEnvelopeFieldBuilder() {
            if (envelopeBuilder_ == null) {
              envelopeBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelopeOrBuilder>(
                      getEnvelope(),
                      getParentForChildren(),
                      isClean());
              envelope_ = null;
            }
            return envelopeBuilder_;
          }
  
          private long fromSeqNr_ ;
          /**
           * <code>required int64 fromSeqNr = 3;</code>
           * @return Whether the fromSeqNr field is set.
           */
          @java.lang.Override
          public boolean hasFromSeqNr() {
            return ((bitField0_ & 0x00000004) != 0);
          }
          /**
           * <code>required int64 fromSeqNr = 3;</code>
           * @return The fromSeqNr.
           */
          @java.lang.Override
          public long getFromSeqNr() {
            return fromSeqNr_;
          }
          /**
           * <code>required int64 fromSeqNr = 3;</code>
           * @param value The fromSeqNr to set.
           * @return This builder for chaining.
           */
          public Builder setFromSeqNr(long value) {
  
            fromSeqNr_ = value;
            bitField0_ |= 0x00000004;
            onChanged();
            return this;
          }
          /**
           * <code>required int64 fromSeqNr = 3;</code>
           * @return This builder for chaining.
           */
          public Builder clearFromSeqNr() {
            bitField0_ = (bitField0_ & ~0x00000004);
            fromSeqNr_ = 0L;
            onChanged();
            return this;
          }
  
          private long toSeqNr_ ;
          /**
           * <pre>
           * if not set then same as fromSequenceNr
           * </pre>
           *
           * <code>optional int64 toSeqNr = 4;</code>
           * @return Whether the toSeqNr field is set.
           */
          @java.lang.Override
          public boolean hasToSeqNr() {
            return ((bitField0_ & 0x00000008) != 0);
          }
          /**
           * <pre>
           * if not set then same as fromSequenceNr
           * </pre>
           *
           * <code>optional int64 toSeqNr = 4;</code>
           * @return The toSeqNr.
           */
          @java.lang.Override
          public long getToSeqNr() {
            return toSeqNr_;
          }
          /**
           * <pre>
           * if not set then same as fromSequenceNr
           * </pre>
           *
           * <code>optional int64 toSeqNr = 4;</code>
           * @param value The toSeqNr to set.
           * @return This builder for chaining.
           */
          public Builder setToSeqNr(long value) {
  
            toSeqNr_ = value;
            bitField0_ |= 0x00000008;
            onChanged();
            return this;
          }
          /**
           * <pre>
           * if not set then same as fromSequenceNr
           * </pre>
           *
           * <code>optional int64 toSeqNr = 4;</code>
           * @return This builder for chaining.
           */
          public Builder clearToSeqNr() {
            bitField0_ = (bitField0_ & ~0x00000008);
            toSeqNr_ = 0L;
            onChanged();
            return this;
          }
          @java.lang.Override
          public final Builder setUnknownFields(
              final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
            return super.setUnknownFields(unknownFields);
          }
  
          @java.lang.Override
          public final Builder mergeUnknownFields(
              final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
            return super.mergeUnknownFields(unknownFields);
          }
  
  
          // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.DeltaPropagation.Entry)
        }
  
        // @@protoc_insertion_point(class_scope:akka.cluster.ddata.DeltaPropagation.Entry)
        private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry DEFAULT_INSTANCE;
        static {
          DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry();
        }
  
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }
  
        @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Entry>
            PARSER = new akka.protobufv3.internal.AbstractParser<Entry>() {
          @java.lang.Override
          public Entry parsePartialFrom(
              akka.protobufv3.internal.CodedInputStream input,
              akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
              throws akka.protobufv3.internal.InvalidProtocolBufferException {
            Builder builder = newBuilder();
            try {
              builder.mergeFrom(input, extensionRegistry);
            } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(builder.buildPartial());
            } catch (akka.protobufv3.internal.UninitializedMessageException e) {
              throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
            } catch (java.io.IOException e) {
              throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                  .setUnfinishedMessage(builder.buildPartial());
            }
            return builder.buildPartial();
          }
        };
  
        public static akka.protobufv3.internal.Parser<Entry> parser() {
          return PARSER;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Parser<Entry> getParserForType() {
          return PARSER;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry getDefaultInstanceForType() {
          return DEFAULT_INSTANCE;
        }
  
      }
  
      private int bitField0_;
      public static final int FROMNODE_FIELD_NUMBER = 1;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress fromNode_;
      /**
       * <code>required .akka.cluster.ddata.UniqueAddress fromNode = 1;</code>
       * @return Whether the fromNode field is set.
       */
      @java.lang.Override
      public boolean hasFromNode() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.UniqueAddress fromNode = 1;</code>
       * @return The fromNode.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getFromNode() {
        return fromNode_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : fromNode_;
      }
      /**
       * <code>required .akka.cluster.ddata.UniqueAddress fromNode = 1;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getFromNodeOrBuilder() {
        return fromNode_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : fromNode_;
      }
  
      public static final int ENTRIES_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry> entries_;
      /**
       * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
       */
      @java.lang.Override
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry> getEntriesList() {
        return entries_;
      }
      /**
       * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
       */
      @java.lang.Override
      public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.EntryOrBuilder> 
          getEntriesOrBuilderList() {
        return entries_;
      }
      /**
       * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
       */
      @java.lang.Override
      public int getEntriesCount() {
        return entries_.size();
      }
      /**
       * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry getEntries(int index) {
        return entries_.get(index);
      }
      /**
       * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.EntryOrBuilder getEntriesOrBuilder(
          int index) {
        return entries_.get(index);
      }
  
      public static final int REPLY_FIELD_NUMBER = 3;
      private boolean reply_ = false;
      /**
       * <pre>
       * no reply if not set
       * </pre>
       *
       * <code>optional bool reply = 3;</code>
       * @return Whether the reply field is set.
       */
      @java.lang.Override
      public boolean hasReply() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <pre>
       * no reply if not set
       * </pre>
       *
       * <code>optional bool reply = 3;</code>
       * @return The reply.
       */
      @java.lang.Override
      public boolean getReply() {
        return reply_;
      }
  
      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 (!hasFromNode()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getFromNode().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        for (int i = 0; i < getEntriesCount(); i++) {
          if (!getEntries(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getFromNode());
        }
        for (int i = 0; i < entries_.size(); i++) {
          output.writeMessage(2, entries_.get(i));
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeBool(3, reply_);
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(1, getFromNode());
        }
        for (int i = 0; i < entries_.size(); i++) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(2, entries_.get(i));
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeBoolSize(3, reply_);
        }
        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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation) obj;
  
        if (hasFromNode() != other.hasFromNode()) return false;
        if (hasFromNode()) {
          if (!getFromNode()
              .equals(other.getFromNode())) return false;
        }
        if (!getEntriesList()
            .equals(other.getEntriesList())) return false;
        if (hasReply() != other.hasReply()) return false;
        if (hasReply()) {
          if (getReply()
              != other.getReply()) 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 (hasFromNode()) {
          hash = (37 * hash) + FROMNODE_FIELD_NUMBER;
          hash = (53 * hash) + getFromNode().hashCode();
        }
        if (getEntriesCount() > 0) {
          hash = (37 * hash) + ENTRIES_FIELD_NUMBER;
          hash = (53 * hash) + getEntriesList().hashCode();
        }
        if (hasReply()) {
          hash = (37 * hash) + REPLY_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashBoolean(
              getReply());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.DeltaPropagation}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.DeltaPropagation)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagationOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DeltaPropagation_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DeltaPropagation_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getFromNodeFieldBuilder();
            getEntriesFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          fromNode_ = null;
          if (fromNodeBuilder_ != null) {
            fromNodeBuilder_.dispose();
            fromNodeBuilder_ = null;
          }
          if (entriesBuilder_ == null) {
            entries_ = java.util.Collections.emptyList();
          } else {
            entries_ = null;
            entriesBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          reply_ = false;
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DeltaPropagation_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation(this);
          buildPartialRepeatedFields(result);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartialRepeatedFields(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation result) {
          if (entriesBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0)) {
              entries_ = java.util.Collections.unmodifiableList(entries_);
              bitField0_ = (bitField0_ & ~0x00000002);
            }
            result.entries_ = entries_;
          } else {
            result.entries_ = entriesBuilder_.build();
          }
        }
  
        private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.fromNode_ = fromNodeBuilder_ == null
                ? fromNode_
                : fromNodeBuilder_.build();
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.reply_ = reply_;
            to_bitField0_ |= 0x00000002;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.getDefaultInstance()) return this;
          if (other.hasFromNode()) {
            mergeFromNode(other.getFromNode());
          }
          if (entriesBuilder_ == null) {
            if (!other.entries_.isEmpty()) {
              if (entries_.isEmpty()) {
                entries_ = other.entries_;
                bitField0_ = (bitField0_ & ~0x00000002);
              } else {
                ensureEntriesIsMutable();
                entries_.addAll(other.entries_);
              }
              onChanged();
            }
          } else {
            if (!other.entries_.isEmpty()) {
              if (entriesBuilder_.isEmpty()) {
                entriesBuilder_.dispose();
                entriesBuilder_ = null;
                entries_ = other.entries_;
                bitField0_ = (bitField0_ & ~0x00000002);
                entriesBuilder_ = 
                  akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getEntriesFieldBuilder() : null;
              } else {
                entriesBuilder_.addAllMessages(other.entries_);
              }
            }
          }
          if (other.hasReply()) {
            setReply(other.getReply());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasFromNode()) {
            return false;
          }
          if (!getFromNode().isInitialized()) {
            return false;
          }
          for (int i = 0; i < getEntriesCount(); i++) {
            if (!getEntries(i).isInitialized()) {
              return false;
            }
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.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(
                      getFromNodeFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry m =
                      input.readMessage(
                          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry.PARSER,
                          extensionRegistry);
                  if (entriesBuilder_ == null) {
                    ensureEntriesIsMutable();
                    entries_.add(m);
                  } else {
                    entriesBuilder_.addMessage(m);
                  }
                  break;
                } // case 18
                case 24: {
                  reply_ = input.readBool();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 24
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress fromNode_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder> fromNodeBuilder_;
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress fromNode = 1;</code>
         * @return Whether the fromNode field is set.
         */
        public boolean hasFromNode() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress fromNode = 1;</code>
         * @return The fromNode.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getFromNode() {
          if (fromNodeBuilder_ == null) {
            return fromNode_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : fromNode_;
          } else {
            return fromNodeBuilder_.getMessage();
          }
        }
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress fromNode = 1;</code>
         */
        public Builder setFromNode(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress value) {
          if (fromNodeBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            fromNode_ = value;
          } else {
            fromNodeBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress fromNode = 1;</code>
         */
        public Builder setFromNode(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder builderForValue) {
          if (fromNodeBuilder_ == null) {
            fromNode_ = builderForValue.build();
          } else {
            fromNodeBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress fromNode = 1;</code>
         */
        public Builder mergeFromNode(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress value) {
          if (fromNodeBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0) &&
              fromNode_ != null &&
              fromNode_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance()) {
              getFromNodeBuilder().mergeFrom(value);
            } else {
              fromNode_ = value;
            }
          } else {
            fromNodeBuilder_.mergeFrom(value);
          }
          if (fromNode_ != null) {
            bitField0_ |= 0x00000001;
            onChanged();
          }
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress fromNode = 1;</code>
         */
        public Builder clearFromNode() {
          bitField0_ = (bitField0_ & ~0x00000001);
          fromNode_ = null;
          if (fromNodeBuilder_ != null) {
            fromNodeBuilder_.dispose();
            fromNodeBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress fromNode = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder getFromNodeBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getFromNodeFieldBuilder().getBuilder();
        }
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress fromNode = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getFromNodeOrBuilder() {
          if (fromNodeBuilder_ != null) {
            return fromNodeBuilder_.getMessageOrBuilder();
          } else {
            return fromNode_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : fromNode_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress fromNode = 1;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder> 
            getFromNodeFieldBuilder() {
          if (fromNodeBuilder_ == null) {
            fromNodeBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder>(
                    getFromNode(),
                    getParentForChildren(),
                    isClean());
            fromNode_ = null;
          }
          return fromNodeBuilder_;
        }
  
        private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry> entries_ =
          java.util.Collections.emptyList();
        private void ensureEntriesIsMutable() {
          if (!((bitField0_ & 0x00000002) != 0)) {
            entries_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry>(entries_);
            bitField0_ |= 0x00000002;
           }
        }
  
        private akka.protobufv3.internal.RepeatedFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.EntryOrBuilder> entriesBuilder_;
  
        /**
         * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
         */
        public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry> getEntriesList() {
          if (entriesBuilder_ == null) {
            return java.util.Collections.unmodifiableList(entries_);
          } else {
            return entriesBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
         */
        public int getEntriesCount() {
          if (entriesBuilder_ == null) {
            return entries_.size();
          } else {
            return entriesBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry getEntries(int index) {
          if (entriesBuilder_ == null) {
            return entries_.get(index);
          } else {
            return entriesBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
         */
        public Builder setEntries(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry value) {
          if (entriesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntriesIsMutable();
            entries_.set(index, value);
            onChanged();
          } else {
            entriesBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
         */
        public Builder setEntries(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry.Builder builderForValue) {
          if (entriesBuilder_ == null) {
            ensureEntriesIsMutable();
            entries_.set(index, builderForValue.build());
            onChanged();
          } else {
            entriesBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
         */
        public Builder addEntries(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry value) {
          if (entriesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntriesIsMutable();
            entries_.add(value);
            onChanged();
          } else {
            entriesBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
         */
        public Builder addEntries(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry value) {
          if (entriesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntriesIsMutable();
            entries_.add(index, value);
            onChanged();
          } else {
            entriesBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
         */
        public Builder addEntries(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry.Builder builderForValue) {
          if (entriesBuilder_ == null) {
            ensureEntriesIsMutable();
            entries_.add(builderForValue.build());
            onChanged();
          } else {
            entriesBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
         */
        public Builder addEntries(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry.Builder builderForValue) {
          if (entriesBuilder_ == null) {
            ensureEntriesIsMutable();
            entries_.add(index, builderForValue.build());
            onChanged();
          } else {
            entriesBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
         */
        public Builder addAllEntries(
            java.lang.Iterable<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry> values) {
          if (entriesBuilder_ == null) {
            ensureEntriesIsMutable();
            akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
                values, entries_);
            onChanged();
          } else {
            entriesBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
         */
        public Builder clearEntries() {
          if (entriesBuilder_ == null) {
            entries_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
            onChanged();
          } else {
            entriesBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
         */
        public Builder removeEntries(int index) {
          if (entriesBuilder_ == null) {
            ensureEntriesIsMutable();
            entries_.remove(index);
            onChanged();
          } else {
            entriesBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry.Builder getEntriesBuilder(
            int index) {
          return getEntriesFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.EntryOrBuilder getEntriesOrBuilder(
            int index) {
          if (entriesBuilder_ == null) {
            return entries_.get(index);  } else {
            return entriesBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
         */
        public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.EntryOrBuilder> 
             getEntriesOrBuilderList() {
          if (entriesBuilder_ != null) {
            return entriesBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(entries_);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry.Builder addEntriesBuilder() {
          return getEntriesFieldBuilder().addBuilder(
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry.getDefaultInstance());
        }
        /**
         * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry.Builder addEntriesBuilder(
            int index) {
          return getEntriesFieldBuilder().addBuilder(
              index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry.getDefaultInstance());
        }
        /**
         * <code>repeated .akka.cluster.ddata.DeltaPropagation.Entry entries = 2;</code>
         */
        public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry.Builder> 
             getEntriesBuilderList() {
          return getEntriesFieldBuilder().getBuilderList();
        }
        private akka.protobufv3.internal.RepeatedFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.EntryOrBuilder> 
            getEntriesFieldBuilder() {
          if (entriesBuilder_ == null) {
            entriesBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation.EntryOrBuilder>(
                    entries_,
                    ((bitField0_ & 0x00000002) != 0),
                    getParentForChildren(),
                    isClean());
            entries_ = null;
          }
          return entriesBuilder_;
        }
  
        private boolean reply_ ;
        /**
         * <pre>
         * no reply if not set
         * </pre>
         *
         * <code>optional bool reply = 3;</code>
         * @return Whether the reply field is set.
         */
        @java.lang.Override
        public boolean hasReply() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <pre>
         * no reply if not set
         * </pre>
         *
         * <code>optional bool reply = 3;</code>
         * @return The reply.
         */
        @java.lang.Override
        public boolean getReply() {
          return reply_;
        }
        /**
         * <pre>
         * no reply if not set
         * </pre>
         *
         * <code>optional bool reply = 3;</code>
         * @param value The reply to set.
         * @return This builder for chaining.
         */
        public Builder setReply(boolean value) {
  
          reply_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * no reply if not set
         * </pre>
         *
         * <code>optional bool reply = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearReply() {
          bitField0_ = (bitField0_ & ~0x00000004);
          reply_ = false;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.DeltaPropagation)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.DeltaPropagation)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<DeltaPropagation>
          PARSER = new akka.protobufv3.internal.AbstractParser<DeltaPropagation>() {
        @java.lang.Override
        public DeltaPropagation parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<DeltaPropagation> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<DeltaPropagation> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DeltaPropagation getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface UniqueAddressOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.UniqueAddress)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required .akka.cluster.ddata.Address address = 1;</code>
       * @return Whether the address field is set.
       */
      boolean hasAddress();
      /**
       * <code>required .akka.cluster.ddata.Address address = 1;</code>
       * @return The address.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address getAddress();
      /**
       * <code>required .akka.cluster.ddata.Address address = 1;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.AddressOrBuilder getAddressOrBuilder();
  
      /**
       * <code>required sfixed32 uid = 2;</code>
       * @return Whether the uid field is set.
       */
      boolean hasUid();
      /**
       * <code>required sfixed32 uid = 2;</code>
       * @return The uid.
       */
      int getUid();
  
      /**
       * <pre>
       * 64 bit uids but with backward wire compatibility
       * </pre>
       *
       * <code>optional sfixed32 uid2 = 3;</code>
       * @return Whether the uid2 field is set.
       */
      boolean hasUid2();
      /**
       * <pre>
       * 64 bit uids but with backward wire compatibility
       * </pre>
       *
       * <code>optional sfixed32 uid2 = 3;</code>
       * @return The uid2.
       */
      int getUid2();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.UniqueAddress}
     */
    public static final class UniqueAddress extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.UniqueAddress)
        UniqueAddressOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use UniqueAddress.newBuilder() to construct.
      private UniqueAddress(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private UniqueAddress() {
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new UniqueAddress();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_UniqueAddress_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_UniqueAddress_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder.class);
      }
  
      private int bitField0_;
      public static final int ADDRESS_FIELD_NUMBER = 1;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address address_;
      /**
       * <code>required .akka.cluster.ddata.Address address = 1;</code>
       * @return Whether the address field is set.
       */
      @java.lang.Override
      public boolean hasAddress() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.Address address = 1;</code>
       * @return The address.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address getAddress() {
        return address_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.getDefaultInstance() : address_;
      }
      /**
       * <code>required .akka.cluster.ddata.Address address = 1;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.AddressOrBuilder getAddressOrBuilder() {
        return address_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.getDefaultInstance() : address_;
      }
  
      public static final int UID_FIELD_NUMBER = 2;
      private int uid_ = 0;
      /**
       * <code>required sfixed32 uid = 2;</code>
       * @return Whether the uid field is set.
       */
      @java.lang.Override
      public boolean hasUid() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required sfixed32 uid = 2;</code>
       * @return The uid.
       */
      @java.lang.Override
      public int getUid() {
        return uid_;
      }
  
      public static final int UID2_FIELD_NUMBER = 3;
      private int uid2_ = 0;
      /**
       * <pre>
       * 64 bit uids but with backward wire compatibility
       * </pre>
       *
       * <code>optional sfixed32 uid2 = 3;</code>
       * @return Whether the uid2 field is set.
       */
      @java.lang.Override
      public boolean hasUid2() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <pre>
       * 64 bit uids but with backward wire compatibility
       * </pre>
       *
       * <code>optional sfixed32 uid2 = 3;</code>
       * @return The uid2.
       */
      @java.lang.Override
      public int getUid2() {
        return uid2_;
      }
  
      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 (!hasAddress()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasUid()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getAddress().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getAddress());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeSFixed32(2, uid_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeSFixed32(3, uid2_);
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(1, getAddress());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeSFixed32Size(2, uid_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeSFixed32Size(3, uid2_);
        }
        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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress) obj;
  
        if (hasAddress() != other.hasAddress()) return false;
        if (hasAddress()) {
          if (!getAddress()
              .equals(other.getAddress())) return false;
        }
        if (hasUid() != other.hasUid()) return false;
        if (hasUid()) {
          if (getUid()
              != other.getUid()) return false;
        }
        if (hasUid2() != other.hasUid2()) return false;
        if (hasUid2()) {
          if (getUid2()
              != other.getUid2()) 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 (hasAddress()) {
          hash = (37 * hash) + ADDRESS_FIELD_NUMBER;
          hash = (53 * hash) + getAddress().hashCode();
        }
        if (hasUid()) {
          hash = (37 * hash) + UID_FIELD_NUMBER;
          hash = (53 * hash) + getUid();
        }
        if (hasUid2()) {
          hash = (37 * hash) + UID2_FIELD_NUMBER;
          hash = (53 * hash) + getUid2();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.UniqueAddress}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.UniqueAddress)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_UniqueAddress_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_UniqueAddress_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getAddressFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          address_ = null;
          if (addressBuilder_ != null) {
            addressBuilder_.dispose();
            addressBuilder_ = null;
          }
          uid_ = 0;
          uid2_ = 0;
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_UniqueAddress_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.address_ = addressBuilder_ == null
                ? address_
                : addressBuilder_.build();
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.uid_ = uid_;
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.uid2_ = uid2_;
            to_bitField0_ |= 0x00000004;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance()) return this;
          if (other.hasAddress()) {
            mergeAddress(other.getAddress());
          }
          if (other.hasUid()) {
            setUid(other.getUid());
          }
          if (other.hasUid2()) {
            setUid2(other.getUid2());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasAddress()) {
            return false;
          }
          if (!hasUid()) {
            return false;
          }
          if (!getAddress().isInitialized()) {
            return false;
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.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(
                      getAddressFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 21: {
                  uid_ = input.readSFixed32();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 21
                case 29: {
                  uid2_ = input.readSFixed32();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 29
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address address_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.AddressOrBuilder> addressBuilder_;
        /**
         * <code>required .akka.cluster.ddata.Address address = 1;</code>
         * @return Whether the address field is set.
         */
        public boolean hasAddress() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.Address address = 1;</code>
         * @return The address.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address getAddress() {
          if (addressBuilder_ == null) {
            return address_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.getDefaultInstance() : address_;
          } else {
            return addressBuilder_.getMessage();
          }
        }
        /**
         * <code>required .akka.cluster.ddata.Address address = 1;</code>
         */
        public Builder setAddress(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address value) {
          if (addressBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            address_ = value;
          } else {
            addressBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.Address address = 1;</code>
         */
        public Builder setAddress(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.Builder builderForValue) {
          if (addressBuilder_ == null) {
            address_ = builderForValue.build();
          } else {
            addressBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.Address address = 1;</code>
         */
        public Builder mergeAddress(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address value) {
          if (addressBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0) &&
              address_ != null &&
              address_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.getDefaultInstance()) {
              getAddressBuilder().mergeFrom(value);
            } else {
              address_ = value;
            }
          } else {
            addressBuilder_.mergeFrom(value);
          }
          if (address_ != null) {
            bitField0_ |= 0x00000001;
            onChanged();
          }
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.Address address = 1;</code>
         */
        public Builder clearAddress() {
          bitField0_ = (bitField0_ & ~0x00000001);
          address_ = null;
          if (addressBuilder_ != null) {
            addressBuilder_.dispose();
            addressBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.Address address = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.Builder getAddressBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getAddressFieldBuilder().getBuilder();
        }
        /**
         * <code>required .akka.cluster.ddata.Address address = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.AddressOrBuilder getAddressOrBuilder() {
          if (addressBuilder_ != null) {
            return addressBuilder_.getMessageOrBuilder();
          } else {
            return address_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.getDefaultInstance() : address_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.Address address = 1;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.AddressOrBuilder> 
            getAddressFieldBuilder() {
          if (addressBuilder_ == null) {
            addressBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.AddressOrBuilder>(
                    getAddress(),
                    getParentForChildren(),
                    isClean());
            address_ = null;
          }
          return addressBuilder_;
        }
  
        private int uid_ ;
        /**
         * <code>required sfixed32 uid = 2;</code>
         * @return Whether the uid field is set.
         */
        @java.lang.Override
        public boolean hasUid() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required sfixed32 uid = 2;</code>
         * @return The uid.
         */
        @java.lang.Override
        public int getUid() {
          return uid_;
        }
        /**
         * <code>required sfixed32 uid = 2;</code>
         * @param value The uid to set.
         * @return This builder for chaining.
         */
        public Builder setUid(int value) {
  
          uid_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required sfixed32 uid = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearUid() {
          bitField0_ = (bitField0_ & ~0x00000002);
          uid_ = 0;
          onChanged();
          return this;
        }
  
        private int uid2_ ;
        /**
         * <pre>
         * 64 bit uids but with backward wire compatibility
         * </pre>
         *
         * <code>optional sfixed32 uid2 = 3;</code>
         * @return Whether the uid2 field is set.
         */
        @java.lang.Override
        public boolean hasUid2() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <pre>
         * 64 bit uids but with backward wire compatibility
         * </pre>
         *
         * <code>optional sfixed32 uid2 = 3;</code>
         * @return The uid2.
         */
        @java.lang.Override
        public int getUid2() {
          return uid2_;
        }
        /**
         * <pre>
         * 64 bit uids but with backward wire compatibility
         * </pre>
         *
         * <code>optional sfixed32 uid2 = 3;</code>
         * @param value The uid2 to set.
         * @return This builder for chaining.
         */
        public Builder setUid2(int value) {
  
          uid2_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * 64 bit uids but with backward wire compatibility
         * </pre>
         *
         * <code>optional sfixed32 uid2 = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearUid2() {
          bitField0_ = (bitField0_ & ~0x00000004);
          uid2_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.UniqueAddress)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.UniqueAddress)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<UniqueAddress>
          PARSER = new akka.protobufv3.internal.AbstractParser<UniqueAddress>() {
        @java.lang.Override
        public UniqueAddress parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<UniqueAddress> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<UniqueAddress> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface AddressOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.Address)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required string hostname = 1;</code>
       * @return Whether the hostname field is set.
       */
      boolean hasHostname();
      /**
       * <code>required string hostname = 1;</code>
       * @return The hostname.
       */
      java.lang.String getHostname();
      /**
       * <code>required string hostname = 1;</code>
       * @return The bytes for hostname.
       */
      akka.protobufv3.internal.ByteString
          getHostnameBytes();
  
      /**
       * <code>required uint32 port = 2;</code>
       * @return Whether the port field is set.
       */
      boolean hasPort();
      /**
       * <code>required uint32 port = 2;</code>
       * @return The port.
       */
      int getPort();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.Address}
     */
    public static final class Address extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.Address)
        AddressOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Address.newBuilder() to construct.
      private Address(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Address() {
        hostname_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Address();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Address_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Address_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.Builder.class);
      }
  
      private int bitField0_;
      public static final int HOSTNAME_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object hostname_ = "";
      /**
       * <code>required string hostname = 1;</code>
       * @return Whether the hostname field is set.
       */
      @java.lang.Override
      public boolean hasHostname() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string hostname = 1;</code>
       * @return The hostname.
       */
      @java.lang.Override
      public java.lang.String getHostname() {
        java.lang.Object ref = hostname_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          akka.protobufv3.internal.ByteString bs = 
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            hostname_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string hostname = 1;</code>
       * @return The bytes for hostname.
       */
      @java.lang.Override
      public akka.protobufv3.internal.ByteString
          getHostnameBytes() {
        java.lang.Object ref = hostname_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          hostname_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      public static final int PORT_FIELD_NUMBER = 2;
      private int port_ = 0;
      /**
       * <code>required uint32 port = 2;</code>
       * @return Whether the port field is set.
       */
      @java.lang.Override
      public boolean hasPort() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required uint32 port = 2;</code>
       * @return The port.
       */
      @java.lang.Override
      public int getPort() {
        return port_;
      }
  
      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 (!hasHostname()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasPort()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 1, hostname_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeUInt32(2, port_);
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(1, hostname_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeUInt32Size(2, port_);
        }
        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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address) obj;
  
        if (hasHostname() != other.hasHostname()) return false;
        if (hasHostname()) {
          if (!getHostname()
              .equals(other.getHostname())) return false;
        }
        if (hasPort() != other.hasPort()) return false;
        if (hasPort()) {
          if (getPort()
              != other.getPort()) 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 (hasHostname()) {
          hash = (37 * hash) + HOSTNAME_FIELD_NUMBER;
          hash = (53 * hash) + getHostname().hashCode();
        }
        if (hasPort()) {
          hash = (37 * hash) + PORT_FIELD_NUMBER;
          hash = (53 * hash) + getPort();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.Address}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.Address)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.AddressOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Address_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Address_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.newBuilder()
        private Builder() {
  
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
  
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          hostname_ = "";
          port_ = 0;
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_Address_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.hostname_ = hostname_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.port_ = port_;
            to_bitField0_ |= 0x00000002;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address.getDefaultInstance()) return this;
          if (other.hasHostname()) {
            hostname_ = other.hostname_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (other.hasPort()) {
            setPort(other.getPort());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasHostname()) {
            return false;
          }
          if (!hasPort()) {
            return false;
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.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: {
                  hostname_ = input.readBytes();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 16: {
                  port_ = input.readUInt32();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 16
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private java.lang.Object hostname_ = "";
        /**
         * <code>required string hostname = 1;</code>
         * @return Whether the hostname field is set.
         */
        public boolean hasHostname() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required string hostname = 1;</code>
         * @return The hostname.
         */
        public java.lang.String getHostname() {
          java.lang.Object ref = hostname_;
          if (!(ref instanceof java.lang.String)) {
            akka.protobufv3.internal.ByteString bs =
                (akka.protobufv3.internal.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              hostname_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string hostname = 1;</code>
         * @return The bytes for hostname.
         */
        public akka.protobufv3.internal.ByteString
            getHostnameBytes() {
          java.lang.Object ref = hostname_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            hostname_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string hostname = 1;</code>
         * @param value The hostname to set.
         * @return This builder for chaining.
         */
        public Builder setHostname(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          hostname_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required string hostname = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearHostname() {
          hostname_ = getDefaultInstance().getHostname();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>required string hostname = 1;</code>
         * @param value The bytes for hostname to set.
         * @return This builder for chaining.
         */
        public Builder setHostnameBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          hostname_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
  
        private int port_ ;
        /**
         * <code>required uint32 port = 2;</code>
         * @return Whether the port field is set.
         */
        @java.lang.Override
        public boolean hasPort() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required uint32 port = 2;</code>
         * @return The port.
         */
        @java.lang.Override
        public int getPort() {
          return port_;
        }
        /**
         * <code>required uint32 port = 2;</code>
         * @param value The port to set.
         * @return This builder for chaining.
         */
        public Builder setPort(int value) {
  
          port_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required uint32 port = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearPort() {
          bitField0_ = (bitField0_ & ~0x00000002);
          port_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.Address)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.Address)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Address>
          PARSER = new akka.protobufv3.internal.AbstractParser<Address>() {
        @java.lang.Override
        public Address parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<Address> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<Address> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.Address getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface VersionVectorOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.VersionVector)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry> 
          getEntriesList();
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry getEntries(int index);
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      int getEntriesCount();
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.EntryOrBuilder> 
          getEntriesOrBuilderList();
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.EntryOrBuilder getEntriesOrBuilder(
          int index);
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.VersionVector}
     */
    public static final class VersionVector extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.VersionVector)
        VersionVectorOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use VersionVector.newBuilder() to construct.
      private VersionVector(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private VersionVector() {
        entries_ = java.util.Collections.emptyList();
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new VersionVector();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_VersionVector_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_VersionVector_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder.class);
      }
  
      public interface EntryOrBuilder extends
          // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.VersionVector.Entry)
          akka.protobufv3.internal.MessageOrBuilder {
  
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
         * @return Whether the node field is set.
         */
        boolean hasNode();
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
         * @return The node.
         */
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getNode();
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
         */
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getNodeOrBuilder();
  
        /**
         * <code>required int64 version = 2;</code>
         * @return Whether the version field is set.
         */
        boolean hasVersion();
        /**
         * <code>required int64 version = 2;</code>
         * @return The version.
         */
        long getVersion();
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.VersionVector.Entry}
       */
      public static final class Entry extends
          akka.protobufv3.internal.GeneratedMessageV3 implements
          // @@protoc_insertion_point(message_implements:akka.cluster.ddata.VersionVector.Entry)
          EntryOrBuilder {
      private static final long serialVersionUID = 0L;
        // Use Entry.newBuilder() to construct.
        private Entry(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
          super(builder);
        }
        private Entry() {
        }
  
        @java.lang.Override
        @SuppressWarnings({"unused"})
        protected java.lang.Object newInstance(
            akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
          return new Entry();
        }
  
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_VersionVector_Entry_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_VersionVector_Entry_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry.Builder.class);
        }
  
        private int bitField0_;
        public static final int NODE_FIELD_NUMBER = 1;
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress node_;
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
         * @return Whether the node field is set.
         */
        @java.lang.Override
        public boolean hasNode() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
         * @return The node.
         */
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getNode() {
          return node_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : node_;
        }
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
         */
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getNodeOrBuilder() {
          return node_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : node_;
        }
  
        public static final int VERSION_FIELD_NUMBER = 2;
        private long version_ = 0L;
        /**
         * <code>required int64 version = 2;</code>
         * @return Whether the version field is set.
         */
        @java.lang.Override
        public boolean hasVersion() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required int64 version = 2;</code>
         * @return The version.
         */
        @java.lang.Override
        public long getVersion() {
          return version_;
        }
  
        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 (!hasNode()) {
            memoizedIsInitialized = 0;
            return false;
          }
          if (!hasVersion()) {
            memoizedIsInitialized = 0;
            return false;
          }
          if (!getNode().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
          memoizedIsInitialized = 1;
          return true;
        }
  
        @java.lang.Override
        public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                            throws java.io.IOException {
          if (((bitField0_ & 0x00000001) != 0)) {
            output.writeMessage(1, getNode());
          }
          if (((bitField0_ & 0x00000002) != 0)) {
            output.writeInt64(2, version_);
          }
          getUnknownFields().writeTo(output);
        }
  
        @java.lang.Override
        public int getSerializedSize() {
          int size = memoizedSize;
          if (size != -1) return size;
  
          size = 0;
          if (((bitField0_ & 0x00000001) != 0)) {
            size += akka.protobufv3.internal.CodedOutputStream
              .computeMessageSize(1, getNode());
          }
          if (((bitField0_ & 0x00000002) != 0)) {
            size += akka.protobufv3.internal.CodedOutputStream
              .computeInt64Size(2, version_);
          }
          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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry)) {
            return super.equals(obj);
          }
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry) obj;
  
          if (hasNode() != other.hasNode()) return false;
          if (hasNode()) {
            if (!getNode()
                .equals(other.getNode())) return false;
          }
          if (hasVersion() != other.hasVersion()) return false;
          if (hasVersion()) {
            if (getVersion()
                != other.getVersion()) 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 (hasNode()) {
            hash = (37 * hash) + NODE_FIELD_NUMBER;
            hash = (53 * hash) + getNode().hashCode();
          }
          if (hasVersion()) {
            hash = (37 * hash) + VERSION_FIELD_NUMBER;
            hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
                getVersion());
          }
          hash = (29 * hash) + getUnknownFields().hashCode();
          memoizedHashCode = hash;
          return hash;
        }
  
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry parseFrom(
            java.nio.ByteBuffer data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry parseFrom(
            java.nio.ByteBuffer data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry parseFrom(
            akka.protobufv3.internal.ByteString data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry parseFrom(
            akka.protobufv3.internal.ByteString data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry parseFrom(byte[] data)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry parseFrom(
            byte[] data,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry parseFrom(
            java.io.InputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }
  
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input);
        }
  
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry parseDelimitedFrom(
            java.io.InputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry parseFrom(
            akka.protobufv3.internal.CodedInputStream input)
            throws java.io.IOException {
          return akka.protobufv3.internal.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry parseFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry 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(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        /**
         * Protobuf type {@code akka.cluster.ddata.VersionVector.Entry}
         */
        public static final class Builder extends
            akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
            // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.VersionVector.Entry)
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.EntryOrBuilder {
          public static final akka.protobufv3.internal.Descriptors.Descriptor
              getDescriptor() {
            return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_VersionVector_Entry_descriptor;
          }
  
          @java.lang.Override
          protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_VersionVector_Entry_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry.Builder.class);
          }
  
          // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }
  
          private Builder(
              akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
            super(parent);
            maybeForceBuilderInitialization();
          }
          private void maybeForceBuilderInitialization() {
            if (akka.protobufv3.internal.GeneratedMessageV3
                    .alwaysUseFieldBuilders) {
              getNodeFieldBuilder();
            }
          }
          @java.lang.Override
          public Builder clear() {
            super.clear();
            bitField0_ = 0;
            node_ = null;
            if (nodeBuilder_ != null) {
              nodeBuilder_.dispose();
              nodeBuilder_ = null;
            }
            version_ = 0L;
            return this;
          }
  
          @java.lang.Override
          public akka.protobufv3.internal.Descriptors.Descriptor
              getDescriptorForType() {
            return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_VersionVector_Entry_descriptor;
          }
  
          @java.lang.Override
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry getDefaultInstanceForType() {
            return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry.getDefaultInstance();
          }
  
          @java.lang.Override
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry build() {
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }
  
          @java.lang.Override
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry buildPartial() {
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry(this);
            if (bitField0_ != 0) { buildPartial0(result); }
            onBuilt();
            return result;
          }
  
          private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry result) {
            int from_bitField0_ = bitField0_;
            int to_bitField0_ = 0;
            if (((from_bitField0_ & 0x00000001) != 0)) {
              result.node_ = nodeBuilder_ == null
                  ? node_
                  : nodeBuilder_.build();
              to_bitField0_ |= 0x00000001;
            }
            if (((from_bitField0_ & 0x00000002) != 0)) {
              result.version_ = version_;
              to_bitField0_ |= 0x00000002;
            }
            result.bitField0_ |= to_bitField0_;
          }
  
          @java.lang.Override
          public Builder clone() {
            return super.clone();
          }
          @java.lang.Override
          public Builder setField(
              akka.protobufv3.internal.Descriptors.FieldDescriptor field,
              java.lang.Object value) {
            return super.setField(field, value);
          }
          @java.lang.Override
          public Builder clearField(
              akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
            return super.clearField(field);
          }
          @java.lang.Override
          public Builder clearOneof(
              akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
            return super.clearOneof(oneof);
          }
          @java.lang.Override
          public Builder setRepeatedField(
              akka.protobufv3.internal.Descriptors.FieldDescriptor field,
              int index, java.lang.Object value) {
            return super.setRepeatedField(field, index, value);
          }
          @java.lang.Override
          public Builder addRepeatedField(
              akka.protobufv3.internal.Descriptors.FieldDescriptor field,
              java.lang.Object value) {
            return super.addRepeatedField(field, value);
          }
          @java.lang.Override
          public Builder mergeFrom(akka.protobufv3.internal.Message other) {
            if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry) {
              return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }
  
          public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry other) {
            if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry.getDefaultInstance()) return this;
            if (other.hasNode()) {
              mergeNode(other.getNode());
            }
            if (other.hasVersion()) {
              setVersion(other.getVersion());
            }
            this.mergeUnknownFields(other.getUnknownFields());
            onChanged();
            return this;
          }
  
          @java.lang.Override
          public final boolean isInitialized() {
            if (!hasNode()) {
              return false;
            }
            if (!hasVersion()) {
              return false;
            }
            if (!getNode().isInitialized()) {
              return false;
            }
            return true;
          }
  
          @java.lang.Override
          public Builder mergeFrom(
              akka.protobufv3.internal.CodedInputStream input,
              akka.protobufv3.internal.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(
                        getNodeFieldBuilder().getBuilder(),
                        extensionRegistry);
                    bitField0_ |= 0x00000001;
                    break;
                  } // case 10
                  case 16: {
                    version_ = input.readInt64();
                    bitField0_ |= 0x00000002;
                    break;
                  } // case 16
                  default: {
                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                      done = true; // was an endgroup tag
                    }
                    break;
                  } // default:
                } // switch (tag)
              } // while (!done)
            } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
              throw e.unwrapIOException();
            } finally {
              onChanged();
            } // finally
            return this;
          }
          private int bitField0_;
  
          private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress node_;
          private akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder> nodeBuilder_;
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
           * @return Whether the node field is set.
           */
          public boolean hasNode() {
            return ((bitField0_ & 0x00000001) != 0);
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
           * @return The node.
           */
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getNode() {
            if (nodeBuilder_ == null) {
              return node_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : node_;
            } else {
              return nodeBuilder_.getMessage();
            }
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
           */
          public Builder setNode(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress value) {
            if (nodeBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              node_ = value;
            } else {
              nodeBuilder_.setMessage(value);
            }
            bitField0_ |= 0x00000001;
            onChanged();
            return this;
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
           */
          public Builder setNode(
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder builderForValue) {
            if (nodeBuilder_ == null) {
              node_ = builderForValue.build();
            } else {
              nodeBuilder_.setMessage(builderForValue.build());
            }
            bitField0_ |= 0x00000001;
            onChanged();
            return this;
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
           */
          public Builder mergeNode(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress value) {
            if (nodeBuilder_ == null) {
              if (((bitField0_ & 0x00000001) != 0) &&
                node_ != null &&
                node_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance()) {
                getNodeBuilder().mergeFrom(value);
              } else {
                node_ = value;
              }
            } else {
              nodeBuilder_.mergeFrom(value);
            }
            if (node_ != null) {
              bitField0_ |= 0x00000001;
              onChanged();
            }
            return this;
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
           */
          public Builder clearNode() {
            bitField0_ = (bitField0_ & ~0x00000001);
            node_ = null;
            if (nodeBuilder_ != null) {
              nodeBuilder_.dispose();
              nodeBuilder_ = null;
            }
            onChanged();
            return this;
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
           */
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder getNodeBuilder() {
            bitField0_ |= 0x00000001;
            onChanged();
            return getNodeFieldBuilder().getBuilder();
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
           */
          public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getNodeOrBuilder() {
            if (nodeBuilder_ != null) {
              return nodeBuilder_.getMessageOrBuilder();
            } else {
              return node_ == null ?
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : node_;
            }
          }
          /**
           * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
           */
          private akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder> 
              getNodeFieldBuilder() {
            if (nodeBuilder_ == null) {
              nodeBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder>(
                      getNode(),
                      getParentForChildren(),
                      isClean());
              node_ = null;
            }
            return nodeBuilder_;
          }
  
          private long version_ ;
          /**
           * <code>required int64 version = 2;</code>
           * @return Whether the version field is set.
           */
          @java.lang.Override
          public boolean hasVersion() {
            return ((bitField0_ & 0x00000002) != 0);
          }
          /**
           * <code>required int64 version = 2;</code>
           * @return The version.
           */
          @java.lang.Override
          public long getVersion() {
            return version_;
          }
          /**
           * <code>required int64 version = 2;</code>
           * @param value The version to set.
           * @return This builder for chaining.
           */
          public Builder setVersion(long value) {
  
            version_ = value;
            bitField0_ |= 0x00000002;
            onChanged();
            return this;
          }
          /**
           * <code>required int64 version = 2;</code>
           * @return This builder for chaining.
           */
          public Builder clearVersion() {
            bitField0_ = (bitField0_ & ~0x00000002);
            version_ = 0L;
            onChanged();
            return this;
          }
          @java.lang.Override
          public final Builder setUnknownFields(
              final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
            return super.setUnknownFields(unknownFields);
          }
  
          @java.lang.Override
          public final Builder mergeUnknownFields(
              final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
            return super.mergeUnknownFields(unknownFields);
          }
  
  
          // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.VersionVector.Entry)
        }
  
        // @@protoc_insertion_point(class_scope:akka.cluster.ddata.VersionVector.Entry)
        private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry DEFAULT_INSTANCE;
        static {
          DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry();
        }
  
        public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }
  
        @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Entry>
            PARSER = new akka.protobufv3.internal.AbstractParser<Entry>() {
          @java.lang.Override
          public Entry parsePartialFrom(
              akka.protobufv3.internal.CodedInputStream input,
              akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
              throws akka.protobufv3.internal.InvalidProtocolBufferException {
            Builder builder = newBuilder();
            try {
              builder.mergeFrom(input, extensionRegistry);
            } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(builder.buildPartial());
            } catch (akka.protobufv3.internal.UninitializedMessageException e) {
              throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
            } catch (java.io.IOException e) {
              throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                  .setUnfinishedMessage(builder.buildPartial());
            }
            return builder.buildPartial();
          }
        };
  
        public static akka.protobufv3.internal.Parser<Entry> parser() {
          return PARSER;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Parser<Entry> getParserForType() {
          return PARSER;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry getDefaultInstanceForType() {
          return DEFAULT_INSTANCE;
        }
  
      }
  
      public static final int ENTRIES_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry> entries_;
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      @java.lang.Override
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry> getEntriesList() {
        return entries_;
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      @java.lang.Override
      public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.EntryOrBuilder> 
          getEntriesOrBuilderList() {
        return entries_;
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      @java.lang.Override
      public int getEntriesCount() {
        return entries_.size();
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry getEntries(int index) {
        return entries_.get(index);
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.EntryOrBuilder getEntriesOrBuilder(
          int index) {
        return entries_.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;
  
        for (int i = 0; i < getEntriesCount(); i++) {
          if (!getEntries(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        for (int i = 0; i < entries_.size(); i++) {
          output.writeMessage(1, entries_.get(i));
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        for (int i = 0; i < entries_.size(); i++) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(1, entries_.get(i));
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector) obj;
  
        if (!getEntriesList()
            .equals(other.getEntriesList())) 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 (getEntriesCount() > 0) {
          hash = (37 * hash) + ENTRIES_FIELD_NUMBER;
          hash = (53 * hash) + getEntriesList().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.VersionVector}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.VersionVector)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_VersionVector_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_VersionVector_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.newBuilder()
        private Builder() {
  
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
  
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          if (entriesBuilder_ == null) {
            entries_ = java.util.Collections.emptyList();
          } else {
            entries_ = null;
            entriesBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_VersionVector_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector(this);
          buildPartialRepeatedFields(result);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartialRepeatedFields(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector result) {
          if (entriesBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0)) {
              entries_ = java.util.Collections.unmodifiableList(entries_);
              bitField0_ = (bitField0_ & ~0x00000001);
            }
            result.entries_ = entries_;
          } else {
            result.entries_ = entriesBuilder_.build();
          }
        }
  
        private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector result) {
          int from_bitField0_ = bitField0_;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.getDefaultInstance()) return this;
          if (entriesBuilder_ == null) {
            if (!other.entries_.isEmpty()) {
              if (entries_.isEmpty()) {
                entries_ = other.entries_;
                bitField0_ = (bitField0_ & ~0x00000001);
              } else {
                ensureEntriesIsMutable();
                entries_.addAll(other.entries_);
              }
              onChanged();
            }
          } else {
            if (!other.entries_.isEmpty()) {
              if (entriesBuilder_.isEmpty()) {
                entriesBuilder_.dispose();
                entriesBuilder_ = null;
                entries_ = other.entries_;
                bitField0_ = (bitField0_ & ~0x00000001);
                entriesBuilder_ = 
                  akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getEntriesFieldBuilder() : null;
              } else {
                entriesBuilder_.addAllMessages(other.entries_);
              }
            }
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          for (int i = 0; i < getEntriesCount(); i++) {
            if (!getEntries(i).isInitialized()) {
              return false;
            }
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.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: {
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry m =
                      input.readMessage(
                          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry.PARSER,
                          extensionRegistry);
                  if (entriesBuilder_ == null) {
                    ensureEntriesIsMutable();
                    entries_.add(m);
                  } else {
                    entriesBuilder_.addMessage(m);
                  }
                  break;
                } // case 10
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry> entries_ =
          java.util.Collections.emptyList();
        private void ensureEntriesIsMutable() {
          if (!((bitField0_ & 0x00000001) != 0)) {
            entries_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry>(entries_);
            bitField0_ |= 0x00000001;
           }
        }
  
        private akka.protobufv3.internal.RepeatedFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.EntryOrBuilder> entriesBuilder_;
  
        /**
         * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
         */
        public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry> getEntriesList() {
          if (entriesBuilder_ == null) {
            return java.util.Collections.unmodifiableList(entries_);
          } else {
            return entriesBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
         */
        public int getEntriesCount() {
          if (entriesBuilder_ == null) {
            return entries_.size();
          } else {
            return entriesBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry getEntries(int index) {
          if (entriesBuilder_ == null) {
            return entries_.get(index);
          } else {
            return entriesBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
         */
        public Builder setEntries(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry value) {
          if (entriesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntriesIsMutable();
            entries_.set(index, value);
            onChanged();
          } else {
            entriesBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
         */
        public Builder setEntries(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry.Builder builderForValue) {
          if (entriesBuilder_ == null) {
            ensureEntriesIsMutable();
            entries_.set(index, builderForValue.build());
            onChanged();
          } else {
            entriesBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
         */
        public Builder addEntries(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry value) {
          if (entriesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntriesIsMutable();
            entries_.add(value);
            onChanged();
          } else {
            entriesBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
         */
        public Builder addEntries(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry value) {
          if (entriesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntriesIsMutable();
            entries_.add(index, value);
            onChanged();
          } else {
            entriesBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
         */
        public Builder addEntries(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry.Builder builderForValue) {
          if (entriesBuilder_ == null) {
            ensureEntriesIsMutable();
            entries_.add(builderForValue.build());
            onChanged();
          } else {
            entriesBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
         */
        public Builder addEntries(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry.Builder builderForValue) {
          if (entriesBuilder_ == null) {
            ensureEntriesIsMutable();
            entries_.add(index, builderForValue.build());
            onChanged();
          } else {
            entriesBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
         */
        public Builder addAllEntries(
            java.lang.Iterable<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry> values) {
          if (entriesBuilder_ == null) {
            ensureEntriesIsMutable();
            akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
                values, entries_);
            onChanged();
          } else {
            entriesBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
         */
        public Builder clearEntries() {
          if (entriesBuilder_ == null) {
            entries_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
            onChanged();
          } else {
            entriesBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
         */
        public Builder removeEntries(int index) {
          if (entriesBuilder_ == null) {
            ensureEntriesIsMutable();
            entries_.remove(index);
            onChanged();
          } else {
            entriesBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry.Builder getEntriesBuilder(
            int index) {
          return getEntriesFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.EntryOrBuilder getEntriesOrBuilder(
            int index) {
          if (entriesBuilder_ == null) {
            return entries_.get(index);  } else {
            return entriesBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
         */
        public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.EntryOrBuilder> 
             getEntriesOrBuilderList() {
          if (entriesBuilder_ != null) {
            return entriesBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(entries_);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry.Builder addEntriesBuilder() {
          return getEntriesFieldBuilder().addBuilder(
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry.getDefaultInstance());
        }
        /**
         * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry.Builder addEntriesBuilder(
            int index) {
          return getEntriesFieldBuilder().addBuilder(
              index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry.getDefaultInstance());
        }
        /**
         * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
         */
        public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry.Builder> 
             getEntriesBuilderList() {
          return getEntriesFieldBuilder().getBuilderList();
        }
        private akka.protobufv3.internal.RepeatedFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.EntryOrBuilder> 
            getEntriesFieldBuilder() {
          if (entriesBuilder_ == null) {
            entriesBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.EntryOrBuilder>(
                    entries_,
                    ((bitField0_ & 0x00000001) != 0),
                    getParentForChildren(),
                    isClean());
            entries_ = null;
          }
          return entriesBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.VersionVector)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.VersionVector)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<VersionVector>
          PARSER = new akka.protobufv3.internal.AbstractParser<VersionVector>() {
        @java.lang.Override
        public VersionVector parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<VersionVector> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<VersionVector> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface OtherMessageOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.OtherMessage)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required bytes enclosedMessage = 1;</code>
       * @return Whether the enclosedMessage field is set.
       */
      boolean hasEnclosedMessage();
      /**
       * <code>required bytes enclosedMessage = 1;</code>
       * @return The enclosedMessage.
       */
      akka.protobufv3.internal.ByteString getEnclosedMessage();
  
      /**
       * <code>required int32 serializerId = 2;</code>
       * @return Whether the serializerId field is set.
       */
      boolean hasSerializerId();
      /**
       * <code>required int32 serializerId = 2;</code>
       * @return The serializerId.
       */
      int getSerializerId();
  
      /**
       * <code>optional bytes messageManifest = 4;</code>
       * @return Whether the messageManifest field is set.
       */
      boolean hasMessageManifest();
      /**
       * <code>optional bytes messageManifest = 4;</code>
       * @return The messageManifest.
       */
      akka.protobufv3.internal.ByteString getMessageManifest();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.OtherMessage}
     */
    public static final class OtherMessage extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.OtherMessage)
        OtherMessageOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use OtherMessage.newBuilder() to construct.
      private OtherMessage(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private OtherMessage() {
        enclosedMessage_ = akka.protobufv3.internal.ByteString.EMPTY;
        messageManifest_ = akka.protobufv3.internal.ByteString.EMPTY;
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new OtherMessage();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_OtherMessage_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_OtherMessage_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder.class);
      }
  
      private int bitField0_;
      public static final int ENCLOSEDMESSAGE_FIELD_NUMBER = 1;
      private akka.protobufv3.internal.ByteString enclosedMessage_ = akka.protobufv3.internal.ByteString.EMPTY;
      /**
       * <code>required bytes enclosedMessage = 1;</code>
       * @return Whether the enclosedMessage field is set.
       */
      @java.lang.Override
      public boolean hasEnclosedMessage() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required bytes enclosedMessage = 1;</code>
       * @return The enclosedMessage.
       */
      @java.lang.Override
      public akka.protobufv3.internal.ByteString getEnclosedMessage() {
        return enclosedMessage_;
      }
  
      public static final int SERIALIZERID_FIELD_NUMBER = 2;
      private int serializerId_ = 0;
      /**
       * <code>required int32 serializerId = 2;</code>
       * @return Whether the serializerId field is set.
       */
      @java.lang.Override
      public boolean hasSerializerId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required int32 serializerId = 2;</code>
       * @return The serializerId.
       */
      @java.lang.Override
      public int getSerializerId() {
        return serializerId_;
      }
  
      public static final int MESSAGEMANIFEST_FIELD_NUMBER = 4;
      private akka.protobufv3.internal.ByteString messageManifest_ = akka.protobufv3.internal.ByteString.EMPTY;
      /**
       * <code>optional bytes messageManifest = 4;</code>
       * @return Whether the messageManifest field is set.
       */
      @java.lang.Override
      public boolean hasMessageManifest() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional bytes messageManifest = 4;</code>
       * @return The messageManifest.
       */
      @java.lang.Override
      public akka.protobufv3.internal.ByteString getMessageManifest() {
        return messageManifest_;
      }
  
      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 (!hasEnclosedMessage()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasSerializerId()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeBytes(1, enclosedMessage_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeInt32(2, serializerId_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeBytes(4, messageManifest_);
        }
        getUnknownFields().writeTo(output);
      }
  
      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeBytesSize(1, enclosedMessage_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeInt32Size(2, serializerId_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeBytesSize(4, messageManifest_);
        }
        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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage) obj;
  
        if (hasEnclosedMessage() != other.hasEnclosedMessage()) return false;
        if (hasEnclosedMessage()) {
          if (!getEnclosedMessage()
              .equals(other.getEnclosedMessage())) return false;
        }
        if (hasSerializerId() != other.hasSerializerId()) return false;
        if (hasSerializerId()) {
          if (getSerializerId()
              != other.getSerializerId()) return false;
        }
        if (hasMessageManifest() != other.hasMessageManifest()) return false;
        if (hasMessageManifest()) {
          if (!getMessageManifest()
              .equals(other.getMessageManifest())) 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 (hasEnclosedMessage()) {
          hash = (37 * hash) + ENCLOSEDMESSAGE_FIELD_NUMBER;
          hash = (53 * hash) + getEnclosedMessage().hashCode();
        }
        if (hasSerializerId()) {
          hash = (37 * hash) + SERIALIZERID_FIELD_NUMBER;
          hash = (53 * hash) + getSerializerId();
        }
        if (hasMessageManifest()) {
          hash = (37 * hash) + MESSAGEMANIFEST_FIELD_NUMBER;
          hash = (53 * hash) + getMessageManifest().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.OtherMessage}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.OtherMessage)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_OtherMessage_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_OtherMessage_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.newBuilder()
        private Builder() {
  
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
  
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          enclosedMessage_ = akka.protobufv3.internal.ByteString.EMPTY;
          serializerId_ = 0;
          messageManifest_ = akka.protobufv3.internal.ByteString.EMPTY;
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_OtherMessage_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.enclosedMessage_ = enclosedMessage_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.serializerId_ = serializerId_;
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.messageManifest_ = messageManifest_;
            to_bitField0_ |= 0x00000004;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) return this;
          if (other.hasEnclosedMessage()) {
            setEnclosedMessage(other.getEnclosedMessage());
          }
          if (other.hasSerializerId()) {
            setSerializerId(other.getSerializerId());
          }
          if (other.hasMessageManifest()) {
            setMessageManifest(other.getMessageManifest());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasEnclosedMessage()) {
            return false;
          }
          if (!hasSerializerId()) {
            return false;
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.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: {
                  enclosedMessage_ = input.readBytes();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 16: {
                  serializerId_ = input.readInt32();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 16
                case 34: {
                  messageManifest_ = input.readBytes();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 34
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private akka.protobufv3.internal.ByteString enclosedMessage_ = akka.protobufv3.internal.ByteString.EMPTY;
        /**
         * <code>required bytes enclosedMessage = 1;</code>
         * @return Whether the enclosedMessage field is set.
         */
        @java.lang.Override
        public boolean hasEnclosedMessage() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required bytes enclosedMessage = 1;</code>
         * @return The enclosedMessage.
         */
        @java.lang.Override
        public akka.protobufv3.internal.ByteString getEnclosedMessage() {
          return enclosedMessage_;
        }
        /**
         * <code>required bytes enclosedMessage = 1;</code>
         * @param value The enclosedMessage to set.
         * @return This builder for chaining.
         */
        public Builder setEnclosedMessage(akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          enclosedMessage_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required bytes enclosedMessage = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearEnclosedMessage() {
          bitField0_ = (bitField0_ & ~0x00000001);
          enclosedMessage_ = getDefaultInstance().getEnclosedMessage();
          onChanged();
          return this;
        }
  
        private int serializerId_ ;
        /**
         * <code>required int32 serializerId = 2;</code>
         * @return Whether the serializerId field is set.
         */
        @java.lang.Override
        public boolean hasSerializerId() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required int32 serializerId = 2;</code>
         * @return The serializerId.
         */
        @java.lang.Override
        public int getSerializerId() {
          return serializerId_;
        }
        /**
         * <code>required int32 serializerId = 2;</code>
         * @param value The serializerId to set.
         * @return This builder for chaining.
         */
        public Builder setSerializerId(int value) {
  
          serializerId_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required int32 serializerId = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearSerializerId() {
          bitField0_ = (bitField0_ & ~0x00000002);
          serializerId_ = 0;
          onChanged();
          return this;
        }
  
        private akka.protobufv3.internal.ByteString messageManifest_ = akka.protobufv3.internal.ByteString.EMPTY;
        /**
         * <code>optional bytes messageManifest = 4;</code>
         * @return Whether the messageManifest field is set.
         */
        @java.lang.Override
        public boolean hasMessageManifest() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>optional bytes messageManifest = 4;</code>
         * @return The messageManifest.
         */
        @java.lang.Override
        public akka.protobufv3.internal.ByteString getMessageManifest() {
          return messageManifest_;
        }
        /**
         * <code>optional bytes messageManifest = 4;</code>
         * @param value The messageManifest to set.
         * @return This builder for chaining.
         */
        public Builder setMessageManifest(akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          messageManifest_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>optional bytes messageManifest = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearMessageManifest() {
          bitField0_ = (bitField0_ & ~0x00000004);
          messageManifest_ = getDefaultInstance().getMessageManifest();
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.OtherMessage)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.OtherMessage)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<OtherMessage>
          PARSER = new akka.protobufv3.internal.AbstractParser<OtherMessage>() {
        @java.lang.Override
        public OtherMessage parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<OtherMessage> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<OtherMessage> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface StringGSetOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.StringGSet)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>repeated string elements = 1;</code>
       * @return A list containing the elements.
       */
      java.util.List<java.lang.String>
          getElementsList();
      /**
       * <code>repeated string elements = 1;</code>
       * @return The count of elements.
       */
      int getElementsCount();
      /**
       * <code>repeated string elements = 1;</code>
       * @param index The index of the element to return.
       * @return The elements at the given index.
       */
      java.lang.String getElements(int index);
      /**
       * <code>repeated string elements = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the elements at the given index.
       */
      akka.protobufv3.internal.ByteString
          getElementsBytes(int index);
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.StringGSet}
     */
    public static final class StringGSet extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.StringGSet)
        StringGSetOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use StringGSet.newBuilder() to construct.
      private StringGSet(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private StringGSet() {
        elements_ =
            akka.protobufv3.internal.LazyStringArrayList.emptyList();
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new StringGSet();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_StringGSet_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_StringGSet_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet.Builder.class);
      }
  
      public static final int ELEMENTS_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private akka.protobufv3.internal.LazyStringArrayList elements_ =
          akka.protobufv3.internal.LazyStringArrayList.emptyList();
      /**
       * <code>repeated string elements = 1;</code>
       * @return A list containing the elements.
       */
      public akka.protobufv3.internal.ProtocolStringList
          getElementsList() {
        return elements_;
      }
      /**
       * <code>repeated string elements = 1;</code>
       * @return The count of elements.
       */
      public int getElementsCount() {
        return elements_.size();
      }
      /**
       * <code>repeated string elements = 1;</code>
       * @param index The index of the element to return.
       * @return The elements at the given index.
       */
      public java.lang.String getElements(int index) {
        return elements_.get(index);
      }
      /**
       * <code>repeated string elements = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the elements at the given index.
       */
      public akka.protobufv3.internal.ByteString
          getElementsBytes(int index) {
        return elements_.getByteString(index);
      }
  
      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;
  
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        for (int i = 0; i < elements_.size(); i++) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 1, elements_.getRaw(i));
        }
        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 < elements_.size(); i++) {
            dataSize += computeStringSizeNoTag(elements_.getRaw(i));
          }
          size += dataSize;
          size += 1 * getElementsList().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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet) obj;
  
        if (!getElementsList()
            .equals(other.getElementsList())) 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 (getElementsCount() > 0) {
          hash = (37 * hash) + ELEMENTS_FIELD_NUMBER;
          hash = (53 * hash) + getElementsList().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.StringGSet}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.StringGSet)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSetOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_StringGSet_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_StringGSet_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet.newBuilder()
        private Builder() {
  
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
  
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          elements_ =
              akka.protobufv3.internal.LazyStringArrayList.emptyList();
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_StringGSet_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            elements_.makeImmutable();
            result.elements_ = elements_;
          }
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet.getDefaultInstance()) return this;
          if (!other.elements_.isEmpty()) {
            if (elements_.isEmpty()) {
              elements_ = other.elements_;
              bitField0_ |= 0x00000001;
            } else {
              ensureElementsIsMutable();
              elements_.addAll(other.elements_);
            }
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.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: {
                  akka.protobufv3.internal.ByteString bs = input.readBytes();
                  ensureElementsIsMutable();
                  elements_.add(bs);
                  break;
                } // case 10
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private akka.protobufv3.internal.LazyStringArrayList elements_ =
            akka.protobufv3.internal.LazyStringArrayList.emptyList();
        private void ensureElementsIsMutable() {
          if (!elements_.isModifiable()) {
            elements_ = new akka.protobufv3.internal.LazyStringArrayList(elements_);
          }
          bitField0_ |= 0x00000001;
        }
        /**
         * <code>repeated string elements = 1;</code>
         * @return A list containing the elements.
         */
        public akka.protobufv3.internal.ProtocolStringList
            getElementsList() {
          elements_.makeImmutable();
          return elements_;
        }
        /**
         * <code>repeated string elements = 1;</code>
         * @return The count of elements.
         */
        public int getElementsCount() {
          return elements_.size();
        }
        /**
         * <code>repeated string elements = 1;</code>
         * @param index The index of the element to return.
         * @return The elements at the given index.
         */
        public java.lang.String getElements(int index) {
          return elements_.get(index);
        }
        /**
         * <code>repeated string elements = 1;</code>
         * @param index The index of the value to return.
         * @return The bytes of the elements at the given index.
         */
        public akka.protobufv3.internal.ByteString
            getElementsBytes(int index) {
          return elements_.getByteString(index);
        }
        /**
         * <code>repeated string elements = 1;</code>
         * @param index The index to set the value at.
         * @param value The elements to set.
         * @return This builder for chaining.
         */
        public Builder setElements(
            int index, java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ensureElementsIsMutable();
          elements_.set(index, value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string elements = 1;</code>
         * @param value The elements to add.
         * @return This builder for chaining.
         */
        public Builder addElements(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ensureElementsIsMutable();
          elements_.add(value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string elements = 1;</code>
         * @param values The elements to add.
         * @return This builder for chaining.
         */
        public Builder addAllElements(
            java.lang.Iterable<java.lang.String> values) {
          ensureElementsIsMutable();
          akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
              values, elements_);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string elements = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearElements() {
          elements_ =
            akka.protobufv3.internal.LazyStringArrayList.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);;
          onChanged();
          return this;
        }
        /**
         * <code>repeated string elements = 1;</code>
         * @param value The bytes of the elements to add.
         * @return This builder for chaining.
         */
        public Builder addElementsBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          ensureElementsIsMutable();
          elements_.add(value);
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.StringGSet)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.StringGSet)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<StringGSet>
          PARSER = new akka.protobufv3.internal.AbstractParser<StringGSet>() {
        @java.lang.Override
        public StringGSet parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<StringGSet> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<StringGSet> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.StringGSet getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface DurableDataEnvelopeOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.DurableDataEnvelope)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
       * @return Whether the data field is set.
       */
      boolean hasData();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
       * @return The data.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getData();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getDataOrBuilder();
  
      /**
       * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
       */
      java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry> 
          getPruningList();
      /**
       * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry getPruning(int index);
      /**
       * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
       */
      int getPruningCount();
      /**
       * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
       */
      java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntryOrBuilder> 
          getPruningOrBuilderList();
      /**
       * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntryOrBuilder getPruningOrBuilder(
          int index);
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.DurableDataEnvelope}
     */
    public static final class DurableDataEnvelope extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.DurableDataEnvelope)
        DurableDataEnvelopeOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use DurableDataEnvelope.newBuilder() to construct.
      private DurableDataEnvelope(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private DurableDataEnvelope() {
        pruning_ = java.util.Collections.emptyList();
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new DurableDataEnvelope();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DurableDataEnvelope_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DurableDataEnvelope_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope.Builder.class);
      }
  
      private int bitField0_;
      public static final int DATA_FIELD_NUMBER = 1;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage data_;
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
       * @return Whether the data field is set.
       */
      @java.lang.Override
      public boolean hasData() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
       * @return The data.
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getData() {
        return data_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : data_;
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getDataOrBuilder() {
        return data_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : data_;
      }
  
      public static final int PRUNING_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry> pruning_;
      /**
       * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
       */
      @java.lang.Override
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry> getPruningList() {
        return pruning_;
      }
      /**
       * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
       */
      @java.lang.Override
      public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntryOrBuilder> 
          getPruningOrBuilderList() {
        return pruning_;
      }
      /**
       * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
       */
      @java.lang.Override
      public int getPruningCount() {
        return pruning_.size();
      }
      /**
       * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry getPruning(int index) {
        return pruning_.get(index);
      }
      /**
       * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
       */
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntryOrBuilder getPruningOrBuilder(
          int index) {
        return pruning_.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 (!hasData()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getData().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        for (int i = 0; i < getPruningCount(); i++) {
          if (!getPruning(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      @java.lang.Override
      public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getData());
        }
        for (int i = 0; i < pruning_.size(); i++) {
          output.writeMessage(2, pruning_.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 += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(1, getData());
        }
        for (int i = 0; i < pruning_.size(); i++) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(2, pruning_.get(i));
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }
  
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope other = (akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope) obj;
  
        if (hasData() != other.hasData()) return false;
        if (hasData()) {
          if (!getData()
              .equals(other.getData())) return false;
        }
        if (!getPruningList()
            .equals(other.getPruningList())) 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 (hasData()) {
          hash = (37 * hash) + DATA_FIELD_NUMBER;
          hash = (53 * hash) + getData().hashCode();
        }
        if (getPruningCount() > 0) {
          hash = (37 * hash) + PRUNING_FIELD_NUMBER;
          hash = (53 * hash) + getPruningList().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope parseFrom(
          akka.protobufv3.internal.ByteString data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope parseFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope parseFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return akka.protobufv3.internal.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(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope 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(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.DurableDataEnvelope}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.DurableDataEnvelope)
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelopeOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DurableDataEnvelope_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DurableDataEnvelope_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope.class, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope.Builder.class);
        }
  
        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getDataFieldBuilder();
            getPruningFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          data_ = null;
          if (dataBuilder_ != null) {
            dataBuilder_.dispose();
            dataBuilder_ = null;
          }
          if (pruningBuilder_ == null) {
            pruning_ = java.util.Collections.emptyList();
          } else {
            pruning_ = null;
            pruningBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.internal_static_akka_cluster_ddata_DurableDataEnvelope_descriptor;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope build() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope result = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope(this);
          buildPartialRepeatedFields(result);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartialRepeatedFields(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope result) {
          if (pruningBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0)) {
              pruning_ = java.util.Collections.unmodifiableList(pruning_);
              bitField0_ = (bitField0_ & ~0x00000002);
            }
            result.pruning_ = pruning_;
          } else {
            result.pruning_ = pruningBuilder_.build();
          }
        }
  
        private void buildPartial0(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.data_ = dataBuilder_ == null
                ? data_
                : dataBuilder_.build();
            to_bitField0_ |= 0x00000001;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            akka.protobufv3.internal.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(akka.protobufv3.internal.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope.getDefaultInstance()) return this;
          if (other.hasData()) {
            mergeData(other.getData());
          }
          if (pruningBuilder_ == null) {
            if (!other.pruning_.isEmpty()) {
              if (pruning_.isEmpty()) {
                pruning_ = other.pruning_;
                bitField0_ = (bitField0_ & ~0x00000002);
              } else {
                ensurePruningIsMutable();
                pruning_.addAll(other.pruning_);
              }
              onChanged();
            }
          } else {
            if (!other.pruning_.isEmpty()) {
              if (pruningBuilder_.isEmpty()) {
                pruningBuilder_.dispose();
                pruningBuilder_ = null;
                pruning_ = other.pruning_;
                bitField0_ = (bitField0_ & ~0x00000002);
                pruningBuilder_ = 
                  akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getPruningFieldBuilder() : null;
              } else {
                pruningBuilder_.addAllMessages(other.pruning_);
              }
            }
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasData()) {
            return false;
          }
          if (!getData().isInitialized()) {
            return false;
          }
          for (int i = 0; i < getPruningCount(); i++) {
            if (!getPruning(i).isInitialized()) {
              return false;
            }
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.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(
                      getDataFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry m =
                      input.readMessage(
                          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.PARSER,
                          extensionRegistry);
                  if (pruningBuilder_ == null) {
                    ensurePruningIsMutable();
                    pruning_.add(m);
                  } else {
                    pruningBuilder_.addMessage(m);
                  }
                  break;
                } // case 18
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage data_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> dataBuilder_;
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
         * @return Whether the data field is set.
         */
        public boolean hasData() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
         * @return The data.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getData() {
          if (dataBuilder_ == null) {
            return data_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : data_;
          } else {
            return dataBuilder_.getMessage();
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
         */
        public Builder setData(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (dataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            data_ = value;
          } else {
            dataBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
         */
        public Builder setData(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (dataBuilder_ == null) {
            data_ = builderForValue.build();
          } else {
            dataBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
         */
        public Builder mergeData(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (dataBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0) &&
              data_ != null &&
              data_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              getDataBuilder().mergeFrom(value);
            } else {
              data_ = value;
            }
          } else {
            dataBuilder_.mergeFrom(value);
          }
          if (data_ != null) {
            bitField0_ |= 0x00000001;
            onChanged();
          }
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
         */
        public Builder clearData() {
          bitField0_ = (bitField0_ & ~0x00000001);
          data_ = null;
          if (dataBuilder_ != null) {
            dataBuilder_.dispose();
            dataBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getDataBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getDataFieldBuilder().getBuilder();
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getDataOrBuilder() {
          if (dataBuilder_ != null) {
            return dataBuilder_.getMessageOrBuilder();
          } else {
            return data_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : data_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage data = 1;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
            getDataFieldBuilder() {
          if (dataBuilder_ == null) {
            dataBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    getData(),
                    getParentForChildren(),
                    isClean());
            data_ = null;
          }
          return dataBuilder_;
        }
  
        private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry> pruning_ =
          java.util.Collections.emptyList();
        private void ensurePruningIsMutable() {
          if (!((bitField0_ & 0x00000002) != 0)) {
            pruning_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry>(pruning_);
            bitField0_ |= 0x00000002;
           }
        }
  
        private akka.protobufv3.internal.RepeatedFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntryOrBuilder> pruningBuilder_;
  
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry> getPruningList() {
          if (pruningBuilder_ == null) {
            return java.util.Collections.unmodifiableList(pruning_);
          } else {
            return pruningBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public int getPruningCount() {
          if (pruningBuilder_ == null) {
            return pruning_.size();
          } else {
            return pruningBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry getPruning(int index) {
          if (pruningBuilder_ == null) {
            return pruning_.get(index);
          } else {
            return pruningBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public Builder setPruning(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry value) {
          if (pruningBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensurePruningIsMutable();
            pruning_.set(index, value);
            onChanged();
          } else {
            pruningBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public Builder setPruning(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder builderForValue) {
          if (pruningBuilder_ == null) {
            ensurePruningIsMutable();
            pruning_.set(index, builderForValue.build());
            onChanged();
          } else {
            pruningBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public Builder addPruning(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry value) {
          if (pruningBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensurePruningIsMutable();
            pruning_.add(value);
            onChanged();
          } else {
            pruningBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public Builder addPruning(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry value) {
          if (pruningBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensurePruningIsMutable();
            pruning_.add(index, value);
            onChanged();
          } else {
            pruningBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public Builder addPruning(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder builderForValue) {
          if (pruningBuilder_ == null) {
            ensurePruningIsMutable();
            pruning_.add(builderForValue.build());
            onChanged();
          } else {
            pruningBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public Builder addPruning(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder builderForValue) {
          if (pruningBuilder_ == null) {
            ensurePruningIsMutable();
            pruning_.add(index, builderForValue.build());
            onChanged();
          } else {
            pruningBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public Builder addAllPruning(
            java.lang.Iterable<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry> values) {
          if (pruningBuilder_ == null) {
            ensurePruningIsMutable();
            akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
                values, pruning_);
            onChanged();
          } else {
            pruningBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public Builder clearPruning() {
          if (pruningBuilder_ == null) {
            pruning_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
            onChanged();
          } else {
            pruningBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public Builder removePruning(int index) {
          if (pruningBuilder_ == null) {
            ensurePruningIsMutable();
            pruning_.remove(index);
            onChanged();
          } else {
            pruningBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder getPruningBuilder(
            int index) {
          return getPruningFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntryOrBuilder getPruningOrBuilder(
            int index) {
          if (pruningBuilder_ == null) {
            return pruning_.get(index);  } else {
            return pruningBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntryOrBuilder> 
             getPruningOrBuilderList() {
          if (pruningBuilder_ != null) {
            return pruningBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(pruning_);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder addPruningBuilder() {
          return getPruningFieldBuilder().addBuilder(
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.getDefaultInstance());
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder addPruningBuilder(
            int index) {
          return getPruningFieldBuilder().addBuilder(
              index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.getDefaultInstance());
        }
        /**
         * <code>repeated .akka.cluster.ddata.DataEnvelope.PruningEntry pruning = 2;</code>
         */
        public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder> 
             getPruningBuilderList() {
          return getPruningFieldBuilder().getBuilderList();
        }
        private akka.protobufv3.internal.RepeatedFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntryOrBuilder> 
            getPruningFieldBuilder() {
          if (pruningBuilder_ == null) {
            pruningBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DataEnvelope.PruningEntryOrBuilder>(
                    pruning_,
                    ((bitField0_ & 0x00000002) != 0),
                    getParentForChildren(),
                    isClean());
            pruning_ = null;
          }
          return pruningBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }
  
        @java.lang.Override
        public final Builder mergeUnknownFields(
            final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }
  
  
        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.DurableDataEnvelope)
      }
  
      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.DurableDataEnvelope)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope();
      }
  
      public static akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<DurableDataEnvelope>
          PARSER = new akka.protobufv3.internal.AbstractParser<DurableDataEnvelope>() {
        @java.lang.Override
        public DurableDataEnvelope parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<DurableDataEnvelope> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<DurableDataEnvelope> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.DurableDataEnvelope getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_Get_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_Get_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_GetSuccess_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_GetSuccess_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_NotFound_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_NotFound_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_GetFailure_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_GetFailure_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_Subscribe_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_Subscribe_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_Unsubscribe_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_Unsubscribe_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_Changed_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_Changed_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_Write_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_Write_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_Empty_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_Empty_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_Read_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_Read_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_ReadResult_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_ReadResult_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_DataEnvelope_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_DataEnvelope_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_DataEnvelope_PruningEntry_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_DataEnvelope_PruningEntry_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_Status_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_Status_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_Status_Entry_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_Status_Entry_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_Gossip_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_Gossip_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_Gossip_Entry_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_Gossip_Entry_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_DeltaPropagation_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_DeltaPropagation_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_DeltaPropagation_Entry_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_DeltaPropagation_Entry_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_UniqueAddress_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_UniqueAddress_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_Address_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_Address_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_VersionVector_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_VersionVector_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_VersionVector_Entry_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_VersionVector_Entry_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_OtherMessage_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_OtherMessage_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_StringGSet_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_StringGSet_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_akka_cluster_ddata_DurableDataEnvelope_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_akka_cluster_ddata_DurableDataEnvelope_fieldAccessorTable;
  
    public static akka.protobufv3.internal.Descriptors.FileDescriptor
        getDescriptor() {
      return descriptor;
    }
    private static  akka.protobufv3.internal.Descriptors.FileDescriptor
        descriptor;
    static {
      java.lang.String[] descriptorData = {
        "\n\030ReplicatorMessages.proto\022\022akka.cluster" +
        ".ddata\"\307\001\n\003Get\022-\n\003key\030\001 \002(\0132 .akka.clust" +
        "er.ddata.OtherMessage\022\023\n\013consistency\030\002 \002" +
        "(\021\022\017\n\007timeout\030\003 \002(\r\0221\n\007request\030\004 \001(\0132 .a" +
        "kka.cluster.ddata.OtherMessage\022\031\n\021consis" +
        "tencyMinCap\030\005 \001(\005\022\035\n\025consistencyAddition" +
        "al\030\006 \001(\005\"\236\001\n\nGetSuccess\022-\n\003key\030\001 \002(\0132 .a" +
        "kka.cluster.ddata.OtherMessage\022.\n\004data\030\002" +
        " \002(\0132 .akka.cluster.ddata.OtherMessage\0221" +
        "\n\007request\030\004 \001(\0132 .akka.cluster.ddata.Oth" +
        "erMessage\"l\n\010NotFound\022-\n\003key\030\001 \002(\0132 .akk" +
        "a.cluster.ddata.OtherMessage\0221\n\007request\030" +
        "\002 \001(\0132 .akka.cluster.ddata.OtherMessage\"" +
        "n\n\nGetFailure\022-\n\003key\030\001 \002(\0132 .akka.cluste" +
        "r.ddata.OtherMessage\0221\n\007request\030\002 \001(\0132 ." +
        "akka.cluster.ddata.OtherMessage\"G\n\tSubsc" +
        "ribe\022-\n\003key\030\001 \002(\0132 .akka.cluster.ddata.O" +
        "therMessage\022\013\n\003ref\030\002 \002(\t\"I\n\013Unsubscribe\022" +
        "-\n\003key\030\001 \002(\0132 .akka.cluster.ddata.OtherM" +
        "essage\022\013\n\003ref\030\002 \002(\t\"h\n\007Changed\022-\n\003key\030\001 " +
        "\002(\0132 .akka.cluster.ddata.OtherMessage\022.\n" +
        "\004data\030\002 \002(\0132 .akka.cluster.ddata.OtherMe" +
        "ssage\"}\n\005Write\022\013\n\003key\030\001 \002(\t\0222\n\010envelope\030" +
        "\002 \002(\0132 .akka.cluster.ddata.DataEnvelope\022" +
        "3\n\010fromNode\030\003 \001(\0132!.akka.cluster.ddata.U" +
        "niqueAddress\"\007\n\005Empty\"H\n\004Read\022\013\n\003key\030\001 \002" +
        "(\t\0223\n\010fromNode\030\002 \001(\0132!.akka.cluster.ddat" +
        "a.UniqueAddress\"@\n\nReadResult\0222\n\010envelop" +
        "e\030\001 \001(\0132 .akka.cluster.ddata.DataEnvelop" +
        "e\"\221\003\n\014DataEnvelope\022.\n\004data\030\001 \002(\0132 .akka." +
        "cluster.ddata.OtherMessage\022>\n\007pruning\030\002 " +
        "\003(\0132-.akka.cluster.ddata.DataEnvelope.Pr" +
        "uningEntry\0228\n\rdeltaVersions\030\003 \001(\0132!.akka" +
        ".cluster.ddata.VersionVector\032\326\001\n\014Pruning" +
        "Entry\0229\n\016removedAddress\030\001 \002(\0132!.akka.clu" +
        "ster.ddata.UniqueAddress\0227\n\014ownerAddress" +
        "\030\002 \002(\0132!.akka.cluster.ddata.UniqueAddres" +
        "s\022\021\n\tperformed\030\003 \002(\010\022)\n\004seen\030\004 \003(\0132\033.akk" +
        "a.cluster.ddata.Address\022\024\n\014obsoleteTime\030" +
        "\005 \001(\022\"\306\001\n\006Status\022\r\n\005chunk\030\001 \002(\r\022\021\n\ttotCh" +
        "unks\030\002 \002(\r\0221\n\007entries\030\003 \003(\0132 .akka.clust" +
        "er.ddata.Status.Entry\022\023\n\013toSystemUid\030\004 \001" +
        "(\020\022\025\n\rfromSystemUid\030\005 \001(\020\032;\n\005Entry\022\013\n\003ke" +
        "y\030\001 \002(\t\022\016\n\006digest\030\002 \002(\014\022\025\n\rusedTimestamp" +
        "\030\003 \001(\022\"\332\001\n\006Gossip\022\020\n\010sendBack\030\001 \002(\010\0221\n\007e" +
        "ntries\030\002 \003(\0132 .akka.cluster.ddata.Gossip" +
        ".Entry\022\023\n\013toSystemUid\030\003 \001(\020\022\025\n\rfromSyste" +
        "mUid\030\004 \001(\020\032_\n\005Entry\022\013\n\003key\030\001 \002(\t\0222\n\010enve" +
        "lope\030\002 \002(\0132 .akka.cluster.ddata.DataEnve" +
        "lope\022\025\n\rusedTimestamp\030\003 \001(\022\"\201\002\n\020DeltaPro" +
        "pagation\0223\n\010fromNode\030\001 \002(\0132!.akka.cluste" +
        "r.ddata.UniqueAddress\022;\n\007entries\030\002 \003(\0132*" +
        ".akka.cluster.ddata.DeltaPropagation.Ent" +
        "ry\022\r\n\005reply\030\003 \001(\010\032l\n\005Entry\022\013\n\003key\030\001 \002(\t\022" +
        "2\n\010envelope\030\002 \002(\0132 .akka.cluster.ddata.D" +
        "ataEnvelope\022\021\n\tfromSeqNr\030\003 \002(\003\022\017\n\007toSeqN" +
        "r\030\004 \001(\003\"X\n\rUniqueAddress\022,\n\007address\030\001 \002(" +
        "\0132\033.akka.cluster.ddata.Address\022\013\n\003uid\030\002 " +
        "\002(\017\022\014\n\004uid2\030\003 \001(\017\")\n\007Address\022\020\n\010hostname" +
        "\030\001 \002(\t\022\014\n\004port\030\002 \002(\r\"\224\001\n\rVersionVector\0228" +
        "\n\007entries\030\001 \003(\0132\'.akka.cluster.ddata.Ver" +
        "sionVector.Entry\032I\n\005Entry\022/\n\004node\030\001 \002(\0132" +
        "!.akka.cluster.ddata.UniqueAddress\022\017\n\007ve" +
        "rsion\030\002 \002(\003\"V\n\014OtherMessage\022\027\n\017enclosedM" +
        "essage\030\001 \002(\014\022\024\n\014serializerId\030\002 \002(\005\022\027\n\017me" +
        "ssageManifest\030\004 \001(\014\"\036\n\nStringGSet\022\020\n\010ele" +
        "ments\030\001 \003(\t\"\205\001\n\023DurableDataEnvelope\022.\n\004d" +
        "ata\030\001 \002(\0132 .akka.cluster.ddata.OtherMess" +
        "age\022>\n\007pruning\030\002 \003(\0132-.akka.cluster.ddat" +
        "a.DataEnvelope.PruningEntryB#\n\037akka.clus" +
        "ter.ddata.protobuf.msgH\001"
      };
      descriptor = akka.protobufv3.internal.Descriptors.FileDescriptor
        .internalBuildGeneratedFileFrom(descriptorData,
          new akka.protobufv3.internal.Descriptors.FileDescriptor[] {
          });
      internal_static_akka_cluster_ddata_Get_descriptor =
        getDescriptor().getMessageTypes().get(0);
      internal_static_akka_cluster_ddata_Get_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_Get_descriptor,
          new java.lang.String[] { "Key", "Consistency", "Timeout", "Request", "ConsistencyMinCap", "ConsistencyAdditional", });
      internal_static_akka_cluster_ddata_GetSuccess_descriptor =
        getDescriptor().getMessageTypes().get(1);
      internal_static_akka_cluster_ddata_GetSuccess_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_GetSuccess_descriptor,
          new java.lang.String[] { "Key", "Data", "Request", });
      internal_static_akka_cluster_ddata_NotFound_descriptor =
        getDescriptor().getMessageTypes().get(2);
      internal_static_akka_cluster_ddata_NotFound_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_NotFound_descriptor,
          new java.lang.String[] { "Key", "Request", });
      internal_static_akka_cluster_ddata_GetFailure_descriptor =
        getDescriptor().getMessageTypes().get(3);
      internal_static_akka_cluster_ddata_GetFailure_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_GetFailure_descriptor,
          new java.lang.String[] { "Key", "Request", });
      internal_static_akka_cluster_ddata_Subscribe_descriptor =
        getDescriptor().getMessageTypes().get(4);
      internal_static_akka_cluster_ddata_Subscribe_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_Subscribe_descriptor,
          new java.lang.String[] { "Key", "Ref", });
      internal_static_akka_cluster_ddata_Unsubscribe_descriptor =
        getDescriptor().getMessageTypes().get(5);
      internal_static_akka_cluster_ddata_Unsubscribe_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_Unsubscribe_descriptor,
          new java.lang.String[] { "Key", "Ref", });
      internal_static_akka_cluster_ddata_Changed_descriptor =
        getDescriptor().getMessageTypes().get(6);
      internal_static_akka_cluster_ddata_Changed_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_Changed_descriptor,
          new java.lang.String[] { "Key", "Data", });
      internal_static_akka_cluster_ddata_Write_descriptor =
        getDescriptor().getMessageTypes().get(7);
      internal_static_akka_cluster_ddata_Write_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_Write_descriptor,
          new java.lang.String[] { "Key", "Envelope", "FromNode", });
      internal_static_akka_cluster_ddata_Empty_descriptor =
        getDescriptor().getMessageTypes().get(8);
      internal_static_akka_cluster_ddata_Empty_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_Empty_descriptor,
          new java.lang.String[] { });
      internal_static_akka_cluster_ddata_Read_descriptor =
        getDescriptor().getMessageTypes().get(9);
      internal_static_akka_cluster_ddata_Read_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_Read_descriptor,
          new java.lang.String[] { "Key", "FromNode", });
      internal_static_akka_cluster_ddata_ReadResult_descriptor =
        getDescriptor().getMessageTypes().get(10);
      internal_static_akka_cluster_ddata_ReadResult_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_ReadResult_descriptor,
          new java.lang.String[] { "Envelope", });
      internal_static_akka_cluster_ddata_DataEnvelope_descriptor =
        getDescriptor().getMessageTypes().get(11);
      internal_static_akka_cluster_ddata_DataEnvelope_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_DataEnvelope_descriptor,
          new java.lang.String[] { "Data", "Pruning", "DeltaVersions", });
      internal_static_akka_cluster_ddata_DataEnvelope_PruningEntry_descriptor =
        internal_static_akka_cluster_ddata_DataEnvelope_descriptor.getNestedTypes().get(0);
      internal_static_akka_cluster_ddata_DataEnvelope_PruningEntry_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_DataEnvelope_PruningEntry_descriptor,
          new java.lang.String[] { "RemovedAddress", "OwnerAddress", "Performed", "Seen", "ObsoleteTime", });
      internal_static_akka_cluster_ddata_Status_descriptor =
        getDescriptor().getMessageTypes().get(12);
      internal_static_akka_cluster_ddata_Status_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_Status_descriptor,
          new java.lang.String[] { "Chunk", "TotChunks", "Entries", "ToSystemUid", "FromSystemUid", });
      internal_static_akka_cluster_ddata_Status_Entry_descriptor =
        internal_static_akka_cluster_ddata_Status_descriptor.getNestedTypes().get(0);
      internal_static_akka_cluster_ddata_Status_Entry_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_Status_Entry_descriptor,
          new java.lang.String[] { "Key", "Digest", "UsedTimestamp", });
      internal_static_akka_cluster_ddata_Gossip_descriptor =
        getDescriptor().getMessageTypes().get(13);
      internal_static_akka_cluster_ddata_Gossip_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_Gossip_descriptor,
          new java.lang.String[] { "SendBack", "Entries", "ToSystemUid", "FromSystemUid", });
      internal_static_akka_cluster_ddata_Gossip_Entry_descriptor =
        internal_static_akka_cluster_ddata_Gossip_descriptor.getNestedTypes().get(0);
      internal_static_akka_cluster_ddata_Gossip_Entry_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_Gossip_Entry_descriptor,
          new java.lang.String[] { "Key", "Envelope", "UsedTimestamp", });
      internal_static_akka_cluster_ddata_DeltaPropagation_descriptor =
        getDescriptor().getMessageTypes().get(14);
      internal_static_akka_cluster_ddata_DeltaPropagation_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_DeltaPropagation_descriptor,
          new java.lang.String[] { "FromNode", "Entries", "Reply", });
      internal_static_akka_cluster_ddata_DeltaPropagation_Entry_descriptor =
        internal_static_akka_cluster_ddata_DeltaPropagation_descriptor.getNestedTypes().get(0);
      internal_static_akka_cluster_ddata_DeltaPropagation_Entry_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_DeltaPropagation_Entry_descriptor,
          new java.lang.String[] { "Key", "Envelope", "FromSeqNr", "ToSeqNr", });
      internal_static_akka_cluster_ddata_UniqueAddress_descriptor =
        getDescriptor().getMessageTypes().get(15);
      internal_static_akka_cluster_ddata_UniqueAddress_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_UniqueAddress_descriptor,
          new java.lang.String[] { "Address", "Uid", "Uid2", });
      internal_static_akka_cluster_ddata_Address_descriptor =
        getDescriptor().getMessageTypes().get(16);
      internal_static_akka_cluster_ddata_Address_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_Address_descriptor,
          new java.lang.String[] { "Hostname", "Port", });
      internal_static_akka_cluster_ddata_VersionVector_descriptor =
        getDescriptor().getMessageTypes().get(17);
      internal_static_akka_cluster_ddata_VersionVector_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_VersionVector_descriptor,
          new java.lang.String[] { "Entries", });
      internal_static_akka_cluster_ddata_VersionVector_Entry_descriptor =
        internal_static_akka_cluster_ddata_VersionVector_descriptor.getNestedTypes().get(0);
      internal_static_akka_cluster_ddata_VersionVector_Entry_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_VersionVector_Entry_descriptor,
          new java.lang.String[] { "Node", "Version", });
      internal_static_akka_cluster_ddata_OtherMessage_descriptor =
        getDescriptor().getMessageTypes().get(18);
      internal_static_akka_cluster_ddata_OtherMessage_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_OtherMessage_descriptor,
          new java.lang.String[] { "EnclosedMessage", "SerializerId", "MessageManifest", });
      internal_static_akka_cluster_ddata_StringGSet_descriptor =
        getDescriptor().getMessageTypes().get(19);
      internal_static_akka_cluster_ddata_StringGSet_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_StringGSet_descriptor,
          new java.lang.String[] { "Elements", });
      internal_static_akka_cluster_ddata_DurableDataEnvelope_descriptor =
        getDescriptor().getMessageTypes().get(20);
      internal_static_akka_cluster_ddata_DurableDataEnvelope_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_akka_cluster_ddata_DurableDataEnvelope_descriptor,
          new java.lang.String[] { "Data", "Pruning", });
    }
  
    // @@protoc_insertion_point(outer_class_scope)
  }
  