/*
 * Copyright (C) 2020-2021 Lightbend Inc. <https://www.lightbend.com>
 */

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: ReplicatedDataMessages.proto

package akka.cluster.ddata.protobuf.msg;

public final class ReplicatedDataMessages {
  private ReplicatedDataMessages() {}
  public static void registerAllExtensions(
      akka.protobufv3.internal.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      akka.protobufv3.internal.ExtensionRegistry registry) {
    registerAllExtensions(
        (akka.protobufv3.internal.ExtensionRegistryLite) registry);
  }
  /**
   * Protobuf enum {@code akka.cluster.ddata.ORSetDeltaOp}
   */
  public enum ORSetDeltaOp
      implements akka.protobufv3.internal.ProtocolMessageEnum {
    /**
     * <code>Add = 0;</code>
     */
    Add(0),
    /**
     * <code>Remove = 1;</code>
     */
    Remove(1),
    /**
     * <code>Full = 2;</code>
     */
    Full(2),
    ;

    /**
     * <code>Add = 0;</code>
     */
    public static final int Add_VALUE = 0;
    /**
     * <code>Remove = 1;</code>
     */
    public static final int Remove_VALUE = 1;
    /**
     * <code>Full = 2;</code>
     */
    public static final int Full_VALUE = 2;


    public final int getNumber() {
      return value;
    }

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

    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @return The enum associated with the given numeric wire value.
     */
    public static ORSetDeltaOp forNumber(int value) {
      switch (value) {
        case 0: return Add;
        case 1: return Remove;
        case 2: return Full;
        default: return null;
      }
    }

    public static akka.protobufv3.internal.Internal.EnumLiteMap<ORSetDeltaOp>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final akka.protobufv3.internal.Internal.EnumLiteMap<
        ORSetDeltaOp> internalValueMap =
          new akka.protobufv3.internal.Internal.EnumLiteMap<ORSetDeltaOp>() {
            public ORSetDeltaOp findValueByNumber(int number) {
              return ORSetDeltaOp.forNumber(number);
            }
          };

    public final akka.protobufv3.internal.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(ordinal());
    }
    public final akka.protobufv3.internal.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final akka.protobufv3.internal.Descriptors.EnumDescriptor
        getDescriptor() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.getDescriptor().getEnumTypes().get(0);
    }

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

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

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:akka.cluster.ddata.ORSetDeltaOp)
  }

  /**
   * Protobuf enum {@code akka.cluster.ddata.ORMapDeltaOp}
   */
  public enum ORMapDeltaOp
      implements akka.protobufv3.internal.ProtocolMessageEnum {
    /**
     * <code>ORMapPut = 0;</code>
     */
    ORMapPut(0),
    /**
     * <code>ORMapRemove = 1;</code>
     */
    ORMapRemove(1),
    /**
     * <code>ORMapRemoveKey = 2;</code>
     */
    ORMapRemoveKey(2),
    /**
     * <code>ORMapUpdate = 3;</code>
     */
    ORMapUpdate(3),
    ;

    /**
     * <code>ORMapPut = 0;</code>
     */
    public static final int ORMapPut_VALUE = 0;
    /**
     * <code>ORMapRemove = 1;</code>
     */
    public static final int ORMapRemove_VALUE = 1;
    /**
     * <code>ORMapRemoveKey = 2;</code>
     */
    public static final int ORMapRemoveKey_VALUE = 2;
    /**
     * <code>ORMapUpdate = 3;</code>
     */
    public static final int ORMapUpdate_VALUE = 3;


    public final int getNumber() {
      return value;
    }

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

    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @return The enum associated with the given numeric wire value.
     */
    public static ORMapDeltaOp forNumber(int value) {
      switch (value) {
        case 0: return ORMapPut;
        case 1: return ORMapRemove;
        case 2: return ORMapRemoveKey;
        case 3: return ORMapUpdate;
        default: return null;
      }
    }

    public static akka.protobufv3.internal.Internal.EnumLiteMap<ORMapDeltaOp>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final akka.protobufv3.internal.Internal.EnumLiteMap<
        ORMapDeltaOp> internalValueMap =
          new akka.protobufv3.internal.Internal.EnumLiteMap<ORMapDeltaOp>() {
            public ORMapDeltaOp findValueByNumber(int number) {
              return ORMapDeltaOp.forNumber(number);
            }
          };

    public final akka.protobufv3.internal.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(ordinal());
    }
    public final akka.protobufv3.internal.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final akka.protobufv3.internal.Descriptors.EnumDescriptor
        getDescriptor() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.getDescriptor().getEnumTypes().get(1);
    }

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

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

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:akka.cluster.ddata.ORMapDeltaOp)
  }

  public interface GSetOrBuilder extends
      // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.GSet)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>repeated string stringElements = 1;</code>
     * @return A list containing the stringElements.
     */
    java.util.List<java.lang.String>
        getStringElementsList();
    /**
     * <code>repeated string stringElements = 1;</code>
     * @return The count of stringElements.
     */
    int getStringElementsCount();
    /**
     * <code>repeated string stringElements = 1;</code>
     * @param index The index of the element to return.
     * @return The stringElements at the given index.
     */
    java.lang.String getStringElements(int index);
    /**
     * <code>repeated string stringElements = 1;</code>
     * @param index The index of the value to return.
     * @return The bytes of the stringElements at the given index.
     */
    akka.protobufv3.internal.ByteString
        getStringElementsBytes(int index);

    /**
     * <code>repeated sint32 intElements = 2 [packed = true];</code>
     * @return A list containing the intElements.
     */
    java.util.List<java.lang.Integer> getIntElementsList();
    /**
     * <code>repeated sint32 intElements = 2 [packed = true];</code>
     * @return The count of intElements.
     */
    int getIntElementsCount();
    /**
     * <code>repeated sint32 intElements = 2 [packed = true];</code>
     * @param index The index of the element to return.
     * @return The intElements at the given index.
     */
    int getIntElements(int index);

    /**
     * <code>repeated sint64 longElements = 3 [packed = true];</code>
     * @return A list containing the longElements.
     */
    java.util.List<java.lang.Long> getLongElementsList();
    /**
     * <code>repeated sint64 longElements = 3 [packed = true];</code>
     * @return The count of longElements.
     */
    int getLongElementsCount();
    /**
     * <code>repeated sint64 longElements = 3 [packed = true];</code>
     * @param index The index of the element to return.
     * @return The longElements at the given index.
     */
    long getLongElements(int index);

    /**
     * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
     */
    java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage> 
        getOtherElementsList();
    /**
     * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherElements(int index);
    /**
     * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
     */
    int getOtherElementsCount();
    /**
     * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
     */
    java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
        getOtherElementsOrBuilderList();
    /**
     * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherElementsOrBuilder(
        int index);

    /**
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     *
     * <code>repeated string actorRefElements = 5;</code>
     * @return A list containing the actorRefElements.
     */
    java.util.List<java.lang.String>
        getActorRefElementsList();
    /**
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     *
     * <code>repeated string actorRefElements = 5;</code>
     * @return The count of actorRefElements.
     */
    int getActorRefElementsCount();
    /**
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     *
     * <code>repeated string actorRefElements = 5;</code>
     * @param index The index of the element to return.
     * @return The actorRefElements at the given index.
     */
    java.lang.String getActorRefElements(int index);
    /**
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     *
     * <code>repeated string actorRefElements = 5;</code>
     * @param index The index of the value to return.
     * @return The bytes of the actorRefElements at the given index.
     */
    akka.protobufv3.internal.ByteString
        getActorRefElementsBytes(int index);
  }
  /**
   * Protobuf type {@code akka.cluster.ddata.GSet}
   */
  public  static final class GSet extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:akka.cluster.ddata.GSet)
      GSetOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GSet.newBuilder() to construct.
    private GSet(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private GSet() {
      stringElements_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
      intElements_ = emptyIntList();
      longElements_ = emptyLongList();
      otherElements_ = java.util.Collections.emptyList();
      actorRefElements_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new GSet();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private GSet(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      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();
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                stringElements_ = new akka.protobufv3.internal.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              stringElements_.add(bs);
              break;
            }
            case 16: {
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                intElements_ = newIntList();
                mutable_bitField0_ |= 0x00000002;
              }
              intElements_.addInt(input.readSInt32());
              break;
            }
            case 18: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000002) != 0) && input.getBytesUntilLimit() > 0) {
                intElements_ = newIntList();
                mutable_bitField0_ |= 0x00000002;
              }
              while (input.getBytesUntilLimit() > 0) {
                intElements_.addInt(input.readSInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 24: {
              if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                longElements_ = newLongList();
                mutable_bitField0_ |= 0x00000004;
              }
              longElements_.addLong(input.readSInt64());
              break;
            }
            case 26: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000004) != 0) && input.getBytesUntilLimit() > 0) {
                longElements_ = newLongList();
                mutable_bitField0_ |= 0x00000004;
              }
              while (input.getBytesUntilLimit() > 0) {
                longElements_.addLong(input.readSInt64());
              }
              input.popLimit(limit);
              break;
            }
            case 34: {
              if (!((mutable_bitField0_ & 0x00000008) != 0)) {
                otherElements_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage>();
                mutable_bitField0_ |= 0x00000008;
              }
              otherElements_.add(
                  input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.PARSER, extensionRegistry));
              break;
            }
            case 42: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              if (!((mutable_bitField0_ & 0x00000010) != 0)) {
                actorRefElements_ = new akka.protobufv3.internal.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000010;
              }
              actorRefElements_.add(bs);
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          stringElements_ = stringElements_.getUnmodifiableView();
        }
        if (((mutable_bitField0_ & 0x00000002) != 0)) {
          intElements_.makeImmutable(); // C
        }
        if (((mutable_bitField0_ & 0x00000004) != 0)) {
          longElements_.makeImmutable(); // C
        }
        if (((mutable_bitField0_ & 0x00000008) != 0)) {
          otherElements_ = java.util.Collections.unmodifiableList(otherElements_);
        }
        if (((mutable_bitField0_ & 0x00000010) != 0)) {
          actorRefElements_ = actorRefElements_.getUnmodifiableView();
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GSet_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GSet_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet.Builder.class);
    }

    public static final int STRINGELEMENTS_FIELD_NUMBER = 1;
    private akka.protobufv3.internal.LazyStringList stringElements_;
    /**
     * <code>repeated string stringElements = 1;</code>
     * @return A list containing the stringElements.
     */
    public akka.protobufv3.internal.ProtocolStringList
        getStringElementsList() {
      return stringElements_;
    }
    /**
     * <code>repeated string stringElements = 1;</code>
     * @return The count of stringElements.
     */
    public int getStringElementsCount() {
      return stringElements_.size();
    }
    /**
     * <code>repeated string stringElements = 1;</code>
     * @param index The index of the element to return.
     * @return The stringElements at the given index.
     */
    public java.lang.String getStringElements(int index) {
      return stringElements_.get(index);
    }
    /**
     * <code>repeated string stringElements = 1;</code>
     * @param index The index of the value to return.
     * @return The bytes of the stringElements at the given index.
     */
    public akka.protobufv3.internal.ByteString
        getStringElementsBytes(int index) {
      return stringElements_.getByteString(index);
    }

    public static final int INTELEMENTS_FIELD_NUMBER = 2;
    private akka.protobufv3.internal.Internal.IntList intElements_;
    /**
     * <code>repeated sint32 intElements = 2 [packed = true];</code>
     * @return A list containing the intElements.
     */
    public java.util.List<java.lang.Integer>
        getIntElementsList() {
      return intElements_;
    }
    /**
     * <code>repeated sint32 intElements = 2 [packed = true];</code>
     * @return The count of intElements.
     */
    public int getIntElementsCount() {
      return intElements_.size();
    }
    /**
     * <code>repeated sint32 intElements = 2 [packed = true];</code>
     * @param index The index of the element to return.
     * @return The intElements at the given index.
     */
    public int getIntElements(int index) {
      return intElements_.getInt(index);
    }
    private int intElementsMemoizedSerializedSize = -1;

    public static final int LONGELEMENTS_FIELD_NUMBER = 3;
    private akka.protobufv3.internal.Internal.LongList longElements_;
    /**
     * <code>repeated sint64 longElements = 3 [packed = true];</code>
     * @return A list containing the longElements.
     */
    public java.util.List<java.lang.Long>
        getLongElementsList() {
      return longElements_;
    }
    /**
     * <code>repeated sint64 longElements = 3 [packed = true];</code>
     * @return The count of longElements.
     */
    public int getLongElementsCount() {
      return longElements_.size();
    }
    /**
     * <code>repeated sint64 longElements = 3 [packed = true];</code>
     * @param index The index of the element to return.
     * @return The longElements at the given index.
     */
    public long getLongElements(int index) {
      return longElements_.getLong(index);
    }
    private int longElementsMemoizedSerializedSize = -1;

    public static final int OTHERELEMENTS_FIELD_NUMBER = 4;
    private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage> otherElements_;
    /**
     * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
     */
    public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage> getOtherElementsList() {
      return otherElements_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
     */
    public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
        getOtherElementsOrBuilderList() {
      return otherElements_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
     */
    public int getOtherElementsCount() {
      return otherElements_.size();
    }
    /**
     * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherElements(int index) {
      return otherElements_.get(index);
    }
    /**
     * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherElementsOrBuilder(
        int index) {
      return otherElements_.get(index);
    }

    public static final int ACTORREFELEMENTS_FIELD_NUMBER = 5;
    private akka.protobufv3.internal.LazyStringList actorRefElements_;
    /**
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     *
     * <code>repeated string actorRefElements = 5;</code>
     * @return A list containing the actorRefElements.
     */
    public akka.protobufv3.internal.ProtocolStringList
        getActorRefElementsList() {
      return actorRefElements_;
    }
    /**
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     *
     * <code>repeated string actorRefElements = 5;</code>
     * @return The count of actorRefElements.
     */
    public int getActorRefElementsCount() {
      return actorRefElements_.size();
    }
    /**
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     *
     * <code>repeated string actorRefElements = 5;</code>
     * @param index The index of the element to return.
     * @return The actorRefElements at the given index.
     */
    public java.lang.String getActorRefElements(int index) {
      return actorRefElements_.get(index);
    }
    /**
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     *
     * <code>repeated string actorRefElements = 5;</code>
     * @param index The index of the value to return.
     * @return The bytes of the actorRefElements at the given index.
     */
    public akka.protobufv3.internal.ByteString
        getActorRefElementsBytes(int index) {
      return actorRefElements_.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;

      for (int i = 0; i < getOtherElementsCount(); i++) {
        if (!getOtherElements(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 {
      getSerializedSize();
      for (int i = 0; i < stringElements_.size(); i++) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 1, stringElements_.getRaw(i));
      }
      if (getIntElementsList().size() > 0) {
        output.writeUInt32NoTag(18);
        output.writeUInt32NoTag(intElementsMemoizedSerializedSize);
      }
      for (int i = 0; i < intElements_.size(); i++) {
        output.writeSInt32NoTag(intElements_.getInt(i));
      }
      if (getLongElementsList().size() > 0) {
        output.writeUInt32NoTag(26);
        output.writeUInt32NoTag(longElementsMemoizedSerializedSize);
      }
      for (int i = 0; i < longElements_.size(); i++) {
        output.writeSInt64NoTag(longElements_.getLong(i));
      }
      for (int i = 0; i < otherElements_.size(); i++) {
        output.writeMessage(4, otherElements_.get(i));
      }
      for (int i = 0; i < actorRefElements_.size(); i++) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 5, actorRefElements_.getRaw(i));
      }
      unknownFields.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 < stringElements_.size(); i++) {
          dataSize += computeStringSizeNoTag(stringElements_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getStringElementsList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < intElements_.size(); i++) {
          dataSize += akka.protobufv3.internal.CodedOutputStream
            .computeSInt32SizeNoTag(intElements_.getInt(i));
        }
        size += dataSize;
        if (!getIntElementsList().isEmpty()) {
          size += 1;
          size += akka.protobufv3.internal.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        intElementsMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        for (int i = 0; i < longElements_.size(); i++) {
          dataSize += akka.protobufv3.internal.CodedOutputStream
            .computeSInt64SizeNoTag(longElements_.getLong(i));
        }
        size += dataSize;
        if (!getLongElementsList().isEmpty()) {
          size += 1;
          size += akka.protobufv3.internal.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        longElementsMemoizedSerializedSize = dataSize;
      }
      for (int i = 0; i < otherElements_.size(); i++) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(4, otherElements_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < actorRefElements_.size(); i++) {
          dataSize += computeStringSizeNoTag(actorRefElements_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getActorRefElementsList().size();
      }
      size += unknownFields.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.ReplicatedDataMessages.GSet)) {
        return super.equals(obj);
      }
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet other = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet) obj;

      if (!getStringElementsList()
          .equals(other.getStringElementsList())) return false;
      if (!getIntElementsList()
          .equals(other.getIntElementsList())) return false;
      if (!getLongElementsList()
          .equals(other.getLongElementsList())) return false;
      if (!getOtherElementsList()
          .equals(other.getOtherElementsList())) return false;
      if (!getActorRefElementsList()
          .equals(other.getActorRefElementsList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getStringElementsCount() > 0) {
        hash = (37 * hash) + STRINGELEMENTS_FIELD_NUMBER;
        hash = (53 * hash) + getStringElementsList().hashCode();
      }
      if (getIntElementsCount() > 0) {
        hash = (37 * hash) + INTELEMENTS_FIELD_NUMBER;
        hash = (53 * hash) + getIntElementsList().hashCode();
      }
      if (getLongElementsCount() > 0) {
        hash = (37 * hash) + LONGELEMENTS_FIELD_NUMBER;
        hash = (53 * hash) + getLongElementsList().hashCode();
      }
      if (getOtherElementsCount() > 0) {
        hash = (37 * hash) + OTHERELEMENTS_FIELD_NUMBER;
        hash = (53 * hash) + getOtherElementsList().hashCode();
      }
      if (getActorRefElementsCount() > 0) {
        hash = (37 * hash) + ACTORREFELEMENTS_FIELD_NUMBER;
        hash = (53 * hash) + getActorRefElementsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet 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.ReplicatedDataMessages.GSet parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet 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.ReplicatedDataMessages.GSet parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet 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.ReplicatedDataMessages.GSet parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet 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.ReplicatedDataMessages.GSet parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet 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.ReplicatedDataMessages.GSet 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.ReplicatedDataMessages.GSet 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.ReplicatedDataMessages.GSet 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.GSet}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.GSet)
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSetOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GSet_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GSet_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet.Builder.class);
      }

      // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getOtherElementsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        stringElements_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        intElements_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000002);
        longElements_ = emptyLongList();
        bitField0_ = (bitField0_ & ~0x00000004);
        if (otherElementsBuilder_ == null) {
          otherElements_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
        } else {
          otherElementsBuilder_.clear();
        }
        actorRefElements_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GSet_descriptor;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet getDefaultInstanceForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet.getDefaultInstance();
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet build() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet buildPartial() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet(this);
        int from_bitField0_ = bitField0_;
        if (((bitField0_ & 0x00000001) != 0)) {
          stringElements_ = stringElements_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.stringElements_ = stringElements_;
        if (((bitField0_ & 0x00000002) != 0)) {
          intElements_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.intElements_ = intElements_;
        if (((bitField0_ & 0x00000004) != 0)) {
          longElements_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.longElements_ = longElements_;
        if (otherElementsBuilder_ == null) {
          if (((bitField0_ & 0x00000008) != 0)) {
            otherElements_ = java.util.Collections.unmodifiableList(otherElements_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.otherElements_ = otherElements_;
        } else {
          result.otherElements_ = otherElementsBuilder_.build();
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          actorRefElements_ = actorRefElements_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000010);
        }
        result.actorRefElements_ = actorRefElements_;
        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.ReplicatedDataMessages.GSet) {
          return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet other) {
        if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet.getDefaultInstance()) return this;
        if (!other.stringElements_.isEmpty()) {
          if (stringElements_.isEmpty()) {
            stringElements_ = other.stringElements_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureStringElementsIsMutable();
            stringElements_.addAll(other.stringElements_);
          }
          onChanged();
        }
        if (!other.intElements_.isEmpty()) {
          if (intElements_.isEmpty()) {
            intElements_ = other.intElements_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureIntElementsIsMutable();
            intElements_.addAll(other.intElements_);
          }
          onChanged();
        }
        if (!other.longElements_.isEmpty()) {
          if (longElements_.isEmpty()) {
            longElements_ = other.longElements_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureLongElementsIsMutable();
            longElements_.addAll(other.longElements_);
          }
          onChanged();
        }
        if (otherElementsBuilder_ == null) {
          if (!other.otherElements_.isEmpty()) {
            if (otherElements_.isEmpty()) {
              otherElements_ = other.otherElements_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensureOtherElementsIsMutable();
              otherElements_.addAll(other.otherElements_);
            }
            onChanged();
          }
        } else {
          if (!other.otherElements_.isEmpty()) {
            if (otherElementsBuilder_.isEmpty()) {
              otherElementsBuilder_.dispose();
              otherElementsBuilder_ = null;
              otherElements_ = other.otherElements_;
              bitField0_ = (bitField0_ & ~0x00000008);
              otherElementsBuilder_ = 
                akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getOtherElementsFieldBuilder() : null;
            } else {
              otherElementsBuilder_.addAllMessages(other.otherElements_);
            }
          }
        }
        if (!other.actorRefElements_.isEmpty()) {
          if (actorRefElements_.isEmpty()) {
            actorRefElements_ = other.actorRefElements_;
            bitField0_ = (bitField0_ & ~0x00000010);
          } else {
            ensureActorRefElementsIsMutable();
            actorRefElements_.addAll(other.actorRefElements_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        for (int i = 0; i < getOtherElementsCount(); i++) {
          if (!getOtherElements(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 {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private akka.protobufv3.internal.LazyStringList stringElements_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
      private void ensureStringElementsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          stringElements_ = new akka.protobufv3.internal.LazyStringArrayList(stringElements_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * <code>repeated string stringElements = 1;</code>
       * @return A list containing the stringElements.
       */
      public akka.protobufv3.internal.ProtocolStringList
          getStringElementsList() {
        return stringElements_.getUnmodifiableView();
      }
      /**
       * <code>repeated string stringElements = 1;</code>
       * @return The count of stringElements.
       */
      public int getStringElementsCount() {
        return stringElements_.size();
      }
      /**
       * <code>repeated string stringElements = 1;</code>
       * @param index The index of the element to return.
       * @return The stringElements at the given index.
       */
      public java.lang.String getStringElements(int index) {
        return stringElements_.get(index);
      }
      /**
       * <code>repeated string stringElements = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the stringElements at the given index.
       */
      public akka.protobufv3.internal.ByteString
          getStringElementsBytes(int index) {
        return stringElements_.getByteString(index);
      }
      /**
       * <code>repeated string stringElements = 1;</code>
       * @param index The index to set the value at.
       * @param value The stringElements to set.
       * @return This builder for chaining.
       */
      public Builder setStringElements(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureStringElementsIsMutable();
        stringElements_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string stringElements = 1;</code>
       * @param value The stringElements to add.
       * @return This builder for chaining.
       */
      public Builder addStringElements(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureStringElementsIsMutable();
        stringElements_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string stringElements = 1;</code>
       * @param values The stringElements to add.
       * @return This builder for chaining.
       */
      public Builder addAllStringElements(
          java.lang.Iterable<java.lang.String> values) {
        ensureStringElementsIsMutable();
        akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, stringElements_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string stringElements = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearStringElements() {
        stringElements_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string stringElements = 1;</code>
       * @param value The bytes of the stringElements to add.
       * @return This builder for chaining.
       */
      public Builder addStringElementsBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureStringElementsIsMutable();
        stringElements_.add(value);
        onChanged();
        return this;
      }

      private akka.protobufv3.internal.Internal.IntList intElements_ = emptyIntList();
      private void ensureIntElementsIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          intElements_ = mutableCopy(intElements_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * <code>repeated sint32 intElements = 2 [packed = true];</code>
       * @return A list containing the intElements.
       */
      public java.util.List<java.lang.Integer>
          getIntElementsList() {
        return ((bitField0_ & 0x00000002) != 0) ?
                 java.util.Collections.unmodifiableList(intElements_) : intElements_;
      }
      /**
       * <code>repeated sint32 intElements = 2 [packed = true];</code>
       * @return The count of intElements.
       */
      public int getIntElementsCount() {
        return intElements_.size();
      }
      /**
       * <code>repeated sint32 intElements = 2 [packed = true];</code>
       * @param index The index of the element to return.
       * @return The intElements at the given index.
       */
      public int getIntElements(int index) {
        return intElements_.getInt(index);
      }
      /**
       * <code>repeated sint32 intElements = 2 [packed = true];</code>
       * @param index The index to set the value at.
       * @param value The intElements to set.
       * @return This builder for chaining.
       */
      public Builder setIntElements(
          int index, int value) {
        ensureIntElementsIsMutable();
        intElements_.setInt(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint32 intElements = 2 [packed = true];</code>
       * @param value The intElements to add.
       * @return This builder for chaining.
       */
      public Builder addIntElements(int value) {
        ensureIntElementsIsMutable();
        intElements_.addInt(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint32 intElements = 2 [packed = true];</code>
       * @param values The intElements to add.
       * @return This builder for chaining.
       */
      public Builder addAllIntElements(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureIntElementsIsMutable();
        akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, intElements_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint32 intElements = 2 [packed = true];</code>
       * @return This builder for chaining.
       */
      public Builder clearIntElements() {
        intElements_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }

      private akka.protobufv3.internal.Internal.LongList longElements_ = emptyLongList();
      private void ensureLongElementsIsMutable() {
        if (!((bitField0_ & 0x00000004) != 0)) {
          longElements_ = mutableCopy(longElements_);
          bitField0_ |= 0x00000004;
         }
      }
      /**
       * <code>repeated sint64 longElements = 3 [packed = true];</code>
       * @return A list containing the longElements.
       */
      public java.util.List<java.lang.Long>
          getLongElementsList() {
        return ((bitField0_ & 0x00000004) != 0) ?
                 java.util.Collections.unmodifiableList(longElements_) : longElements_;
      }
      /**
       * <code>repeated sint64 longElements = 3 [packed = true];</code>
       * @return The count of longElements.
       */
      public int getLongElementsCount() {
        return longElements_.size();
      }
      /**
       * <code>repeated sint64 longElements = 3 [packed = true];</code>
       * @param index The index of the element to return.
       * @return The longElements at the given index.
       */
      public long getLongElements(int index) {
        return longElements_.getLong(index);
      }
      /**
       * <code>repeated sint64 longElements = 3 [packed = true];</code>
       * @param index The index to set the value at.
       * @param value The longElements to set.
       * @return This builder for chaining.
       */
      public Builder setLongElements(
          int index, long value) {
        ensureLongElementsIsMutable();
        longElements_.setLong(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint64 longElements = 3 [packed = true];</code>
       * @param value The longElements to add.
       * @return This builder for chaining.
       */
      public Builder addLongElements(long value) {
        ensureLongElementsIsMutable();
        longElements_.addLong(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint64 longElements = 3 [packed = true];</code>
       * @param values The longElements to add.
       * @return This builder for chaining.
       */
      public Builder addAllLongElements(
          java.lang.Iterable<? extends java.lang.Long> values) {
        ensureLongElementsIsMutable();
        akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, longElements_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint64 longElements = 3 [packed = true];</code>
       * @return This builder for chaining.
       */
      public Builder clearLongElements() {
        longElements_ = emptyLongList();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }

      private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage> otherElements_ =
        java.util.Collections.emptyList();
      private void ensureOtherElementsIsMutable() {
        if (!((bitField0_ & 0x00000008) != 0)) {
          otherElements_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage>(otherElements_);
          bitField0_ |= 0x00000008;
         }
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> otherElementsBuilder_;

      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage> getOtherElementsList() {
        if (otherElementsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(otherElements_);
        } else {
          return otherElementsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
       */
      public int getOtherElementsCount() {
        if (otherElementsBuilder_ == null) {
          return otherElements_.size();
        } else {
          return otherElementsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherElements(int index) {
        if (otherElementsBuilder_ == null) {
          return otherElements_.get(index);
        } else {
          return otherElementsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
       */
      public Builder setOtherElements(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
        if (otherElementsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOtherElementsIsMutable();
          otherElements_.set(index, value);
          onChanged();
        } else {
          otherElementsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
       */
      public Builder setOtherElements(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
        if (otherElementsBuilder_ == null) {
          ensureOtherElementsIsMutable();
          otherElements_.set(index, builderForValue.build());
          onChanged();
        } else {
          otherElementsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
       */
      public Builder addOtherElements(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
        if (otherElementsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOtherElementsIsMutable();
          otherElements_.add(value);
          onChanged();
        } else {
          otherElementsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
       */
      public Builder addOtherElements(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
        if (otherElementsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOtherElementsIsMutable();
          otherElements_.add(index, value);
          onChanged();
        } else {
          otherElementsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
       */
      public Builder addOtherElements(
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
        if (otherElementsBuilder_ == null) {
          ensureOtherElementsIsMutable();
          otherElements_.add(builderForValue.build());
          onChanged();
        } else {
          otherElementsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
       */
      public Builder addOtherElements(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
        if (otherElementsBuilder_ == null) {
          ensureOtherElementsIsMutable();
          otherElements_.add(index, builderForValue.build());
          onChanged();
        } else {
          otherElementsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
       */
      public Builder addAllOtherElements(
          java.lang.Iterable<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage> values) {
        if (otherElementsBuilder_ == null) {
          ensureOtherElementsIsMutable();
          akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
              values, otherElements_);
          onChanged();
        } else {
          otherElementsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
       */
      public Builder clearOtherElements() {
        if (otherElementsBuilder_ == null) {
          otherElements_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          otherElementsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
       */
      public Builder removeOtherElements(int index) {
        if (otherElementsBuilder_ == null) {
          ensureOtherElementsIsMutable();
          otherElements_.remove(index);
          onChanged();
        } else {
          otherElementsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getOtherElementsBuilder(
          int index) {
        return getOtherElementsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherElementsOrBuilder(
          int index) {
        if (otherElementsBuilder_ == null) {
          return otherElements_.get(index);  } else {
          return otherElementsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
       */
      public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
           getOtherElementsOrBuilderList() {
        if (otherElementsBuilder_ != null) {
          return otherElementsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(otherElements_);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder addOtherElementsBuilder() {
        return getOtherElementsFieldBuilder().addBuilder(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder addOtherElementsBuilder(
          int index) {
        return getOtherElementsFieldBuilder().addBuilder(
            index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 4;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder> 
           getOtherElementsBuilderList() {
        return getOtherElementsFieldBuilder().getBuilderList();
      }
      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
          getOtherElementsFieldBuilder() {
        if (otherElementsBuilder_ == null) {
          otherElementsBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                  otherElements_,
                  ((bitField0_ & 0x00000008) != 0),
                  getParentForChildren(),
                  isClean());
          otherElements_ = null;
        }
        return otherElementsBuilder_;
      }

      private akka.protobufv3.internal.LazyStringList actorRefElements_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
      private void ensureActorRefElementsIsMutable() {
        if (!((bitField0_ & 0x00000010) != 0)) {
          actorRefElements_ = new akka.protobufv3.internal.LazyStringArrayList(actorRefElements_);
          bitField0_ |= 0x00000010;
         }
      }
      /**
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       *
       * <code>repeated string actorRefElements = 5;</code>
       * @return A list containing the actorRefElements.
       */
      public akka.protobufv3.internal.ProtocolStringList
          getActorRefElementsList() {
        return actorRefElements_.getUnmodifiableView();
      }
      /**
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       *
       * <code>repeated string actorRefElements = 5;</code>
       * @return The count of actorRefElements.
       */
      public int getActorRefElementsCount() {
        return actorRefElements_.size();
      }
      /**
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       *
       * <code>repeated string actorRefElements = 5;</code>
       * @param index The index of the element to return.
       * @return The actorRefElements at the given index.
       */
      public java.lang.String getActorRefElements(int index) {
        return actorRefElements_.get(index);
      }
      /**
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       *
       * <code>repeated string actorRefElements = 5;</code>
       * @param index The index of the value to return.
       * @return The bytes of the actorRefElements at the given index.
       */
      public akka.protobufv3.internal.ByteString
          getActorRefElementsBytes(int index) {
        return actorRefElements_.getByteString(index);
      }
      /**
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       *
       * <code>repeated string actorRefElements = 5;</code>
       * @param index The index to set the value at.
       * @param value The actorRefElements to set.
       * @return This builder for chaining.
       */
      public Builder setActorRefElements(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureActorRefElementsIsMutable();
        actorRefElements_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       *
       * <code>repeated string actorRefElements = 5;</code>
       * @param value The actorRefElements to add.
       * @return This builder for chaining.
       */
      public Builder addActorRefElements(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureActorRefElementsIsMutable();
        actorRefElements_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       *
       * <code>repeated string actorRefElements = 5;</code>
       * @param values The actorRefElements to add.
       * @return This builder for chaining.
       */
      public Builder addAllActorRefElements(
          java.lang.Iterable<java.lang.String> values) {
        ensureActorRefElementsIsMutable();
        akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, actorRefElements_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       *
       * <code>repeated string actorRefElements = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearActorRefElements() {
        actorRefElements_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       *
       * <code>repeated string actorRefElements = 5;</code>
       * @param value The bytes of the actorRefElements to add.
       * @return This builder for chaining.
       */
      public Builder addActorRefElementsBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureActorRefElementsIsMutable();
        actorRefElements_.add(value);
        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.GSet)
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.GSet)
    private static final akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<GSet>
        PARSER = new akka.protobufv3.internal.AbstractParser<GSet>() {
      @java.lang.Override
      public GSet parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new GSet(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<GSet> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<GSet> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ORSetOrBuilder extends
      // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.ORSet)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
     * @return Whether the vvector field is set.
     */
    boolean hasVvector();
    /**
     * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
     * @return The vvector.
     */
    akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector getVvector();
    /**
     * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder getVvectorOrBuilder();

    /**
     * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
     */
    java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector> 
        getDotsList();
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector getDots(int index);
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
     */
    int getDotsCount();
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
     */
    java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder> 
        getDotsOrBuilderList();
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder getDotsOrBuilder(
        int index);

    /**
     * <code>repeated string stringElements = 3;</code>
     * @return A list containing the stringElements.
     */
    java.util.List<java.lang.String>
        getStringElementsList();
    /**
     * <code>repeated string stringElements = 3;</code>
     * @return The count of stringElements.
     */
    int getStringElementsCount();
    /**
     * <code>repeated string stringElements = 3;</code>
     * @param index The index of the element to return.
     * @return The stringElements at the given index.
     */
    java.lang.String getStringElements(int index);
    /**
     * <code>repeated string stringElements = 3;</code>
     * @param index The index of the value to return.
     * @return The bytes of the stringElements at the given index.
     */
    akka.protobufv3.internal.ByteString
        getStringElementsBytes(int index);

    /**
     * <code>repeated sint32 intElements = 4 [packed = true];</code>
     * @return A list containing the intElements.
     */
    java.util.List<java.lang.Integer> getIntElementsList();
    /**
     * <code>repeated sint32 intElements = 4 [packed = true];</code>
     * @return The count of intElements.
     */
    int getIntElementsCount();
    /**
     * <code>repeated sint32 intElements = 4 [packed = true];</code>
     * @param index The index of the element to return.
     * @return The intElements at the given index.
     */
    int getIntElements(int index);

    /**
     * <code>repeated sint64 longElements = 5 [packed = true];</code>
     * @return A list containing the longElements.
     */
    java.util.List<java.lang.Long> getLongElementsList();
    /**
     * <code>repeated sint64 longElements = 5 [packed = true];</code>
     * @return The count of longElements.
     */
    int getLongElementsCount();
    /**
     * <code>repeated sint64 longElements = 5 [packed = true];</code>
     * @param index The index of the element to return.
     * @return The longElements at the given index.
     */
    long getLongElements(int index);

    /**
     * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
     */
    java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage> 
        getOtherElementsList();
    /**
     * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherElements(int index);
    /**
     * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
     */
    int getOtherElementsCount();
    /**
     * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
     */
    java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
        getOtherElementsOrBuilderList();
    /**
     * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherElementsOrBuilder(
        int index);

    /**
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     *
     * <code>repeated string actorRefElements = 7;</code>
     * @return A list containing the actorRefElements.
     */
    java.util.List<java.lang.String>
        getActorRefElementsList();
    /**
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     *
     * <code>repeated string actorRefElements = 7;</code>
     * @return The count of actorRefElements.
     */
    int getActorRefElementsCount();
    /**
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     *
     * <code>repeated string actorRefElements = 7;</code>
     * @param index The index of the element to return.
     * @return The actorRefElements at the given index.
     */
    java.lang.String getActorRefElements(int index);
    /**
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     *
     * <code>repeated string actorRefElements = 7;</code>
     * @param index The index of the value to return.
     * @return The bytes of the actorRefElements at the given index.
     */
    akka.protobufv3.internal.ByteString
        getActorRefElementsBytes(int index);
  }
  /**
   * Protobuf type {@code akka.cluster.ddata.ORSet}
   */
  public  static final class ORSet extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:akka.cluster.ddata.ORSet)
      ORSetOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ORSet.newBuilder() to construct.
    private ORSet(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ORSet() {
      dots_ = java.util.Collections.emptyList();
      stringElements_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
      intElements_ = emptyIntList();
      longElements_ = emptyLongList();
      otherElements_ = java.util.Collections.emptyList();
      actorRefElements_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new ORSet();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ORSet(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      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.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = vvector_.toBuilder();
              }
              vvector_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(vvector_);
                vvector_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                dots_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector>();
                mutable_bitField0_ |= 0x00000002;
              }
              dots_.add(
                  input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.PARSER, extensionRegistry));
              break;
            }
            case 26: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                stringElements_ = new akka.protobufv3.internal.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000004;
              }
              stringElements_.add(bs);
              break;
            }
            case 32: {
              if (!((mutable_bitField0_ & 0x00000008) != 0)) {
                intElements_ = newIntList();
                mutable_bitField0_ |= 0x00000008;
              }
              intElements_.addInt(input.readSInt32());
              break;
            }
            case 34: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000008) != 0) && input.getBytesUntilLimit() > 0) {
                intElements_ = newIntList();
                mutable_bitField0_ |= 0x00000008;
              }
              while (input.getBytesUntilLimit() > 0) {
                intElements_.addInt(input.readSInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 40: {
              if (!((mutable_bitField0_ & 0x00000010) != 0)) {
                longElements_ = newLongList();
                mutable_bitField0_ |= 0x00000010;
              }
              longElements_.addLong(input.readSInt64());
              break;
            }
            case 42: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000010) != 0) && input.getBytesUntilLimit() > 0) {
                longElements_ = newLongList();
                mutable_bitField0_ |= 0x00000010;
              }
              while (input.getBytesUntilLimit() > 0) {
                longElements_.addLong(input.readSInt64());
              }
              input.popLimit(limit);
              break;
            }
            case 50: {
              if (!((mutable_bitField0_ & 0x00000020) != 0)) {
                otherElements_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage>();
                mutable_bitField0_ |= 0x00000020;
              }
              otherElements_.add(
                  input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.PARSER, extensionRegistry));
              break;
            }
            case 58: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              if (!((mutable_bitField0_ & 0x00000040) != 0)) {
                actorRefElements_ = new akka.protobufv3.internal.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000040;
              }
              actorRefElements_.add(bs);
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) != 0)) {
          dots_ = java.util.Collections.unmodifiableList(dots_);
        }
        if (((mutable_bitField0_ & 0x00000004) != 0)) {
          stringElements_ = stringElements_.getUnmodifiableView();
        }
        if (((mutable_bitField0_ & 0x00000008) != 0)) {
          intElements_.makeImmutable(); // C
        }
        if (((mutable_bitField0_ & 0x00000010) != 0)) {
          longElements_.makeImmutable(); // C
        }
        if (((mutable_bitField0_ & 0x00000020) != 0)) {
          otherElements_ = java.util.Collections.unmodifiableList(otherElements_);
        }
        if (((mutable_bitField0_ & 0x00000040) != 0)) {
          actorRefElements_ = actorRefElements_.getUnmodifiableView();
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSet_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSet_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder.class);
    }

    private int bitField0_;
    public static final int VVECTOR_FIELD_NUMBER = 1;
    private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector vvector_;
    /**
     * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
     * @return Whether the vvector field is set.
     */
    public boolean hasVvector() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
     * @return The vvector.
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector getVvector() {
      return vvector_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.getDefaultInstance() : vvector_;
    }
    /**
     * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder getVvectorOrBuilder() {
      return vvector_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.getDefaultInstance() : vvector_;
    }

    public static final int DOTS_FIELD_NUMBER = 2;
    private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector> dots_;
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
     */
    public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector> getDotsList() {
      return dots_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
     */
    public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder> 
        getDotsOrBuilderList() {
      return dots_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
     */
    public int getDotsCount() {
      return dots_.size();
    }
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector getDots(int index) {
      return dots_.get(index);
    }
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder getDotsOrBuilder(
        int index) {
      return dots_.get(index);
    }

    public static final int STRINGELEMENTS_FIELD_NUMBER = 3;
    private akka.protobufv3.internal.LazyStringList stringElements_;
    /**
     * <code>repeated string stringElements = 3;</code>
     * @return A list containing the stringElements.
     */
    public akka.protobufv3.internal.ProtocolStringList
        getStringElementsList() {
      return stringElements_;
    }
    /**
     * <code>repeated string stringElements = 3;</code>
     * @return The count of stringElements.
     */
    public int getStringElementsCount() {
      return stringElements_.size();
    }
    /**
     * <code>repeated string stringElements = 3;</code>
     * @param index The index of the element to return.
     * @return The stringElements at the given index.
     */
    public java.lang.String getStringElements(int index) {
      return stringElements_.get(index);
    }
    /**
     * <code>repeated string stringElements = 3;</code>
     * @param index The index of the value to return.
     * @return The bytes of the stringElements at the given index.
     */
    public akka.protobufv3.internal.ByteString
        getStringElementsBytes(int index) {
      return stringElements_.getByteString(index);
    }

    public static final int INTELEMENTS_FIELD_NUMBER = 4;
    private akka.protobufv3.internal.Internal.IntList intElements_;
    /**
     * <code>repeated sint32 intElements = 4 [packed = true];</code>
     * @return A list containing the intElements.
     */
    public java.util.List<java.lang.Integer>
        getIntElementsList() {
      return intElements_;
    }
    /**
     * <code>repeated sint32 intElements = 4 [packed = true];</code>
     * @return The count of intElements.
     */
    public int getIntElementsCount() {
      return intElements_.size();
    }
    /**
     * <code>repeated sint32 intElements = 4 [packed = true];</code>
     * @param index The index of the element to return.
     * @return The intElements at the given index.
     */
    public int getIntElements(int index) {
      return intElements_.getInt(index);
    }
    private int intElementsMemoizedSerializedSize = -1;

    public static final int LONGELEMENTS_FIELD_NUMBER = 5;
    private akka.protobufv3.internal.Internal.LongList longElements_;
    /**
     * <code>repeated sint64 longElements = 5 [packed = true];</code>
     * @return A list containing the longElements.
     */
    public java.util.List<java.lang.Long>
        getLongElementsList() {
      return longElements_;
    }
    /**
     * <code>repeated sint64 longElements = 5 [packed = true];</code>
     * @return The count of longElements.
     */
    public int getLongElementsCount() {
      return longElements_.size();
    }
    /**
     * <code>repeated sint64 longElements = 5 [packed = true];</code>
     * @param index The index of the element to return.
     * @return The longElements at the given index.
     */
    public long getLongElements(int index) {
      return longElements_.getLong(index);
    }
    private int longElementsMemoizedSerializedSize = -1;

    public static final int OTHERELEMENTS_FIELD_NUMBER = 6;
    private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage> otherElements_;
    /**
     * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
     */
    public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage> getOtherElementsList() {
      return otherElements_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
     */
    public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
        getOtherElementsOrBuilderList() {
      return otherElements_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
     */
    public int getOtherElementsCount() {
      return otherElements_.size();
    }
    /**
     * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherElements(int index) {
      return otherElements_.get(index);
    }
    /**
     * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherElementsOrBuilder(
        int index) {
      return otherElements_.get(index);
    }

    public static final int ACTORREFELEMENTS_FIELD_NUMBER = 7;
    private akka.protobufv3.internal.LazyStringList actorRefElements_;
    /**
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     *
     * <code>repeated string actorRefElements = 7;</code>
     * @return A list containing the actorRefElements.
     */
    public akka.protobufv3.internal.ProtocolStringList
        getActorRefElementsList() {
      return actorRefElements_;
    }
    /**
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     *
     * <code>repeated string actorRefElements = 7;</code>
     * @return The count of actorRefElements.
     */
    public int getActorRefElementsCount() {
      return actorRefElements_.size();
    }
    /**
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     *
     * <code>repeated string actorRefElements = 7;</code>
     * @param index The index of the element to return.
     * @return The actorRefElements at the given index.
     */
    public java.lang.String getActorRefElements(int index) {
      return actorRefElements_.get(index);
    }
    /**
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     *
     * <code>repeated string actorRefElements = 7;</code>
     * @param index The index of the value to return.
     * @return The bytes of the actorRefElements at the given index.
     */
    public akka.protobufv3.internal.ByteString
        getActorRefElementsBytes(int index) {
      return actorRefElements_.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;

      if (!hasVvector()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getVvector().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getDotsCount(); i++) {
        if (!getDots(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getOtherElementsCount(); i++) {
        if (!getOtherElements(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 {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getVvector());
      }
      for (int i = 0; i < dots_.size(); i++) {
        output.writeMessage(2, dots_.get(i));
      }
      for (int i = 0; i < stringElements_.size(); i++) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 3, stringElements_.getRaw(i));
      }
      if (getIntElementsList().size() > 0) {
        output.writeUInt32NoTag(34);
        output.writeUInt32NoTag(intElementsMemoizedSerializedSize);
      }
      for (int i = 0; i < intElements_.size(); i++) {
        output.writeSInt32NoTag(intElements_.getInt(i));
      }
      if (getLongElementsList().size() > 0) {
        output.writeUInt32NoTag(42);
        output.writeUInt32NoTag(longElementsMemoizedSerializedSize);
      }
      for (int i = 0; i < longElements_.size(); i++) {
        output.writeSInt64NoTag(longElements_.getLong(i));
      }
      for (int i = 0; i < otherElements_.size(); i++) {
        output.writeMessage(6, otherElements_.get(i));
      }
      for (int i = 0; i < actorRefElements_.size(); i++) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 7, actorRefElements_.getRaw(i));
      }
      unknownFields.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, getVvector());
      }
      for (int i = 0; i < dots_.size(); i++) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(2, dots_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < stringElements_.size(); i++) {
          dataSize += computeStringSizeNoTag(stringElements_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getStringElementsList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < intElements_.size(); i++) {
          dataSize += akka.protobufv3.internal.CodedOutputStream
            .computeSInt32SizeNoTag(intElements_.getInt(i));
        }
        size += dataSize;
        if (!getIntElementsList().isEmpty()) {
          size += 1;
          size += akka.protobufv3.internal.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        intElementsMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        for (int i = 0; i < longElements_.size(); i++) {
          dataSize += akka.protobufv3.internal.CodedOutputStream
            .computeSInt64SizeNoTag(longElements_.getLong(i));
        }
        size += dataSize;
        if (!getLongElementsList().isEmpty()) {
          size += 1;
          size += akka.protobufv3.internal.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        longElementsMemoizedSerializedSize = dataSize;
      }
      for (int i = 0; i < otherElements_.size(); i++) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(6, otherElements_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < actorRefElements_.size(); i++) {
          dataSize += computeStringSizeNoTag(actorRefElements_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getActorRefElementsList().size();
      }
      size += unknownFields.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.ReplicatedDataMessages.ORSet)) {
        return super.equals(obj);
      }
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet other = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet) obj;

      if (hasVvector() != other.hasVvector()) return false;
      if (hasVvector()) {
        if (!getVvector()
            .equals(other.getVvector())) return false;
      }
      if (!getDotsList()
          .equals(other.getDotsList())) return false;
      if (!getStringElementsList()
          .equals(other.getStringElementsList())) return false;
      if (!getIntElementsList()
          .equals(other.getIntElementsList())) return false;
      if (!getLongElementsList()
          .equals(other.getLongElementsList())) return false;
      if (!getOtherElementsList()
          .equals(other.getOtherElementsList())) return false;
      if (!getActorRefElementsList()
          .equals(other.getActorRefElementsList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasVvector()) {
        hash = (37 * hash) + VVECTOR_FIELD_NUMBER;
        hash = (53 * hash) + getVvector().hashCode();
      }
      if (getDotsCount() > 0) {
        hash = (37 * hash) + DOTS_FIELD_NUMBER;
        hash = (53 * hash) + getDotsList().hashCode();
      }
      if (getStringElementsCount() > 0) {
        hash = (37 * hash) + STRINGELEMENTS_FIELD_NUMBER;
        hash = (53 * hash) + getStringElementsList().hashCode();
      }
      if (getIntElementsCount() > 0) {
        hash = (37 * hash) + INTELEMENTS_FIELD_NUMBER;
        hash = (53 * hash) + getIntElementsList().hashCode();
      }
      if (getLongElementsCount() > 0) {
        hash = (37 * hash) + LONGELEMENTS_FIELD_NUMBER;
        hash = (53 * hash) + getLongElementsList().hashCode();
      }
      if (getOtherElementsCount() > 0) {
        hash = (37 * hash) + OTHERELEMENTS_FIELD_NUMBER;
        hash = (53 * hash) + getOtherElementsList().hashCode();
      }
      if (getActorRefElementsCount() > 0) {
        hash = (37 * hash) + ACTORREFELEMENTS_FIELD_NUMBER;
        hash = (53 * hash) + getActorRefElementsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet 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.ReplicatedDataMessages.ORSet parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet 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.ReplicatedDataMessages.ORSet parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet 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.ReplicatedDataMessages.ORSet parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet 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.ReplicatedDataMessages.ORSet parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet 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.ReplicatedDataMessages.ORSet 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.ReplicatedDataMessages.ORSet 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.ReplicatedDataMessages.ORSet 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.ORSet}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.ORSet)
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSet_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSet_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder.class);
      }

      // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getVvectorFieldBuilder();
          getDotsFieldBuilder();
          getOtherElementsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (vvectorBuilder_ == null) {
          vvector_ = null;
        } else {
          vvectorBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (dotsBuilder_ == null) {
          dots_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          dotsBuilder_.clear();
        }
        stringElements_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        intElements_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000008);
        longElements_ = emptyLongList();
        bitField0_ = (bitField0_ & ~0x00000010);
        if (otherElementsBuilder_ == null) {
          otherElements_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000020);
        } else {
          otherElementsBuilder_.clear();
        }
        actorRefElements_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000040);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSet_descriptor;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getDefaultInstanceForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet build() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet buildPartial() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (vvectorBuilder_ == null) {
            result.vvector_ = vvector_;
          } else {
            result.vvector_ = vvectorBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (dotsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0)) {
            dots_ = java.util.Collections.unmodifiableList(dots_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.dots_ = dots_;
        } else {
          result.dots_ = dotsBuilder_.build();
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          stringElements_ = stringElements_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.stringElements_ = stringElements_;
        if (((bitField0_ & 0x00000008) != 0)) {
          intElements_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000008);
        }
        result.intElements_ = intElements_;
        if (((bitField0_ & 0x00000010) != 0)) {
          longElements_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000010);
        }
        result.longElements_ = longElements_;
        if (otherElementsBuilder_ == null) {
          if (((bitField0_ & 0x00000020) != 0)) {
            otherElements_ = java.util.Collections.unmodifiableList(otherElements_);
            bitField0_ = (bitField0_ & ~0x00000020);
          }
          result.otherElements_ = otherElements_;
        } else {
          result.otherElements_ = otherElementsBuilder_.build();
        }
        if (((bitField0_ & 0x00000040) != 0)) {
          actorRefElements_ = actorRefElements_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000040);
        }
        result.actorRefElements_ = actorRefElements_;
        result.bitField0_ = to_bitField0_;
        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.ReplicatedDataMessages.ORSet) {
          return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet other) {
        if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance()) return this;
        if (other.hasVvector()) {
          mergeVvector(other.getVvector());
        }
        if (dotsBuilder_ == null) {
          if (!other.dots_.isEmpty()) {
            if (dots_.isEmpty()) {
              dots_ = other.dots_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureDotsIsMutable();
              dots_.addAll(other.dots_);
            }
            onChanged();
          }
        } else {
          if (!other.dots_.isEmpty()) {
            if (dotsBuilder_.isEmpty()) {
              dotsBuilder_.dispose();
              dotsBuilder_ = null;
              dots_ = other.dots_;
              bitField0_ = (bitField0_ & ~0x00000002);
              dotsBuilder_ = 
                akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getDotsFieldBuilder() : null;
            } else {
              dotsBuilder_.addAllMessages(other.dots_);
            }
          }
        }
        if (!other.stringElements_.isEmpty()) {
          if (stringElements_.isEmpty()) {
            stringElements_ = other.stringElements_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureStringElementsIsMutable();
            stringElements_.addAll(other.stringElements_);
          }
          onChanged();
        }
        if (!other.intElements_.isEmpty()) {
          if (intElements_.isEmpty()) {
            intElements_ = other.intElements_;
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            ensureIntElementsIsMutable();
            intElements_.addAll(other.intElements_);
          }
          onChanged();
        }
        if (!other.longElements_.isEmpty()) {
          if (longElements_.isEmpty()) {
            longElements_ = other.longElements_;
            bitField0_ = (bitField0_ & ~0x00000010);
          } else {
            ensureLongElementsIsMutable();
            longElements_.addAll(other.longElements_);
          }
          onChanged();
        }
        if (otherElementsBuilder_ == null) {
          if (!other.otherElements_.isEmpty()) {
            if (otherElements_.isEmpty()) {
              otherElements_ = other.otherElements_;
              bitField0_ = (bitField0_ & ~0x00000020);
            } else {
              ensureOtherElementsIsMutable();
              otherElements_.addAll(other.otherElements_);
            }
            onChanged();
          }
        } else {
          if (!other.otherElements_.isEmpty()) {
            if (otherElementsBuilder_.isEmpty()) {
              otherElementsBuilder_.dispose();
              otherElementsBuilder_ = null;
              otherElements_ = other.otherElements_;
              bitField0_ = (bitField0_ & ~0x00000020);
              otherElementsBuilder_ = 
                akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getOtherElementsFieldBuilder() : null;
            } else {
              otherElementsBuilder_.addAllMessages(other.otherElements_);
            }
          }
        }
        if (!other.actorRefElements_.isEmpty()) {
          if (actorRefElements_.isEmpty()) {
            actorRefElements_ = other.actorRefElements_;
            bitField0_ = (bitField0_ & ~0x00000040);
          } else {
            ensureActorRefElementsIsMutable();
            actorRefElements_.addAll(other.actorRefElements_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasVvector()) {
          return false;
        }
        if (!getVvector().isInitialized()) {
          return false;
        }
        for (int i = 0; i < getDotsCount(); i++) {
          if (!getDots(i).isInitialized()) {
            return false;
          }
        }
        for (int i = 0; i < getOtherElementsCount(); i++) {
          if (!getOtherElements(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 {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector vvector_;
      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> vvectorBuilder_;
      /**
       * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
       * @return Whether the vvector field is set.
       */
      public boolean hasVvector() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
       * @return The vvector.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector getVvector() {
        if (vvectorBuilder_ == null) {
          return vvector_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.getDefaultInstance() : vvector_;
        } else {
          return vvectorBuilder_.getMessage();
        }
      }
      /**
       * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
       */
      public Builder setVvector(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector value) {
        if (vvectorBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          vvector_ = value;
          onChanged();
        } else {
          vvectorBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
       */
      public Builder setVvector(
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder builderForValue) {
        if (vvectorBuilder_ == null) {
          vvector_ = builderForValue.build();
          onChanged();
        } else {
          vvectorBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
       */
      public Builder mergeVvector(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector value) {
        if (vvectorBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              vvector_ != null &&
              vvector_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.getDefaultInstance()) {
            vvector_ =
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.newBuilder(vvector_).mergeFrom(value).buildPartial();
          } else {
            vvector_ = value;
          }
          onChanged();
        } else {
          vvectorBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
       */
      public Builder clearVvector() {
        if (vvectorBuilder_ == null) {
          vvector_ = null;
          onChanged();
        } else {
          vvectorBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder getVvectorBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getVvectorFieldBuilder().getBuilder();
      }
      /**
       * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder getVvectorOrBuilder() {
        if (vvectorBuilder_ != null) {
          return vvectorBuilder_.getMessageOrBuilder();
        } else {
          return vvector_ == null ?
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.getDefaultInstance() : vvector_;
        }
      }
      /**
       * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</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> 
          getVvectorFieldBuilder() {
        if (vvectorBuilder_ == null) {
          vvectorBuilder_ = 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>(
                  getVvector(),
                  getParentForChildren(),
                  isClean());
          vvector_ = null;
        }
        return vvectorBuilder_;
      }

      private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector> dots_ =
        java.util.Collections.emptyList();
      private void ensureDotsIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          dots_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector>(dots_);
          bitField0_ |= 0x00000002;
         }
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder> dotsBuilder_;

      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector> getDotsList() {
        if (dotsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(dots_);
        } else {
          return dotsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public int getDotsCount() {
        if (dotsBuilder_ == null) {
          return dots_.size();
        } else {
          return dotsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector getDots(int index) {
        if (dotsBuilder_ == null) {
          return dots_.get(index);
        } else {
          return dotsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public Builder setDots(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector value) {
        if (dotsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDotsIsMutable();
          dots_.set(index, value);
          onChanged();
        } else {
          dotsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public Builder setDots(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder builderForValue) {
        if (dotsBuilder_ == null) {
          ensureDotsIsMutable();
          dots_.set(index, builderForValue.build());
          onChanged();
        } else {
          dotsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public Builder addDots(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector value) {
        if (dotsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDotsIsMutable();
          dots_.add(value);
          onChanged();
        } else {
          dotsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public Builder addDots(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector value) {
        if (dotsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDotsIsMutable();
          dots_.add(index, value);
          onChanged();
        } else {
          dotsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public Builder addDots(
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder builderForValue) {
        if (dotsBuilder_ == null) {
          ensureDotsIsMutable();
          dots_.add(builderForValue.build());
          onChanged();
        } else {
          dotsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public Builder addDots(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder builderForValue) {
        if (dotsBuilder_ == null) {
          ensureDotsIsMutable();
          dots_.add(index, builderForValue.build());
          onChanged();
        } else {
          dotsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public Builder addAllDots(
          java.lang.Iterable<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector> values) {
        if (dotsBuilder_ == null) {
          ensureDotsIsMutable();
          akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
              values, dots_);
          onChanged();
        } else {
          dotsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public Builder clearDots() {
        if (dotsBuilder_ == null) {
          dots_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          dotsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public Builder removeDots(int index) {
        if (dotsBuilder_ == null) {
          ensureDotsIsMutable();
          dots_.remove(index);
          onChanged();
        } else {
          dotsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder getDotsBuilder(
          int index) {
        return getDotsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder getDotsOrBuilder(
          int index) {
        if (dotsBuilder_ == null) {
          return dots_.get(index);  } else {
          return dotsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder> 
           getDotsOrBuilderList() {
        if (dotsBuilder_ != null) {
          return dotsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(dots_);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder addDotsBuilder() {
        return getDotsFieldBuilder().addBuilder(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder addDotsBuilder(
          int index) {
        return getDotsFieldBuilder().addBuilder(
            index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder> 
           getDotsBuilderList() {
        return getDotsFieldBuilder().getBuilderList();
      }
      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder> 
          getDotsFieldBuilder() {
        if (dotsBuilder_ == null) {
          dotsBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder>(
                  dots_,
                  ((bitField0_ & 0x00000002) != 0),
                  getParentForChildren(),
                  isClean());
          dots_ = null;
        }
        return dotsBuilder_;
      }

      private akka.protobufv3.internal.LazyStringList stringElements_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
      private void ensureStringElementsIsMutable() {
        if (!((bitField0_ & 0x00000004) != 0)) {
          stringElements_ = new akka.protobufv3.internal.LazyStringArrayList(stringElements_);
          bitField0_ |= 0x00000004;
         }
      }
      /**
       * <code>repeated string stringElements = 3;</code>
       * @return A list containing the stringElements.
       */
      public akka.protobufv3.internal.ProtocolStringList
          getStringElementsList() {
        return stringElements_.getUnmodifiableView();
      }
      /**
       * <code>repeated string stringElements = 3;</code>
       * @return The count of stringElements.
       */
      public int getStringElementsCount() {
        return stringElements_.size();
      }
      /**
       * <code>repeated string stringElements = 3;</code>
       * @param index The index of the element to return.
       * @return The stringElements at the given index.
       */
      public java.lang.String getStringElements(int index) {
        return stringElements_.get(index);
      }
      /**
       * <code>repeated string stringElements = 3;</code>
       * @param index The index of the value to return.
       * @return The bytes of the stringElements at the given index.
       */
      public akka.protobufv3.internal.ByteString
          getStringElementsBytes(int index) {
        return stringElements_.getByteString(index);
      }
      /**
       * <code>repeated string stringElements = 3;</code>
       * @param index The index to set the value at.
       * @param value The stringElements to set.
       * @return This builder for chaining.
       */
      public Builder setStringElements(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureStringElementsIsMutable();
        stringElements_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string stringElements = 3;</code>
       * @param value The stringElements to add.
       * @return This builder for chaining.
       */
      public Builder addStringElements(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureStringElementsIsMutable();
        stringElements_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string stringElements = 3;</code>
       * @param values The stringElements to add.
       * @return This builder for chaining.
       */
      public Builder addAllStringElements(
          java.lang.Iterable<java.lang.String> values) {
        ensureStringElementsIsMutable();
        akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, stringElements_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string stringElements = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearStringElements() {
        stringElements_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string stringElements = 3;</code>
       * @param value The bytes of the stringElements to add.
       * @return This builder for chaining.
       */
      public Builder addStringElementsBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureStringElementsIsMutable();
        stringElements_.add(value);
        onChanged();
        return this;
      }

      private akka.protobufv3.internal.Internal.IntList intElements_ = emptyIntList();
      private void ensureIntElementsIsMutable() {
        if (!((bitField0_ & 0x00000008) != 0)) {
          intElements_ = mutableCopy(intElements_);
          bitField0_ |= 0x00000008;
         }
      }
      /**
       * <code>repeated sint32 intElements = 4 [packed = true];</code>
       * @return A list containing the intElements.
       */
      public java.util.List<java.lang.Integer>
          getIntElementsList() {
        return ((bitField0_ & 0x00000008) != 0) ?
                 java.util.Collections.unmodifiableList(intElements_) : intElements_;
      }
      /**
       * <code>repeated sint32 intElements = 4 [packed = true];</code>
       * @return The count of intElements.
       */
      public int getIntElementsCount() {
        return intElements_.size();
      }
      /**
       * <code>repeated sint32 intElements = 4 [packed = true];</code>
       * @param index The index of the element to return.
       * @return The intElements at the given index.
       */
      public int getIntElements(int index) {
        return intElements_.getInt(index);
      }
      /**
       * <code>repeated sint32 intElements = 4 [packed = true];</code>
       * @param index The index to set the value at.
       * @param value The intElements to set.
       * @return This builder for chaining.
       */
      public Builder setIntElements(
          int index, int value) {
        ensureIntElementsIsMutable();
        intElements_.setInt(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint32 intElements = 4 [packed = true];</code>
       * @param value The intElements to add.
       * @return This builder for chaining.
       */
      public Builder addIntElements(int value) {
        ensureIntElementsIsMutable();
        intElements_.addInt(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint32 intElements = 4 [packed = true];</code>
       * @param values The intElements to add.
       * @return This builder for chaining.
       */
      public Builder addAllIntElements(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureIntElementsIsMutable();
        akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, intElements_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint32 intElements = 4 [packed = true];</code>
       * @return This builder for chaining.
       */
      public Builder clearIntElements() {
        intElements_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
        return this;
      }

      private akka.protobufv3.internal.Internal.LongList longElements_ = emptyLongList();
      private void ensureLongElementsIsMutable() {
        if (!((bitField0_ & 0x00000010) != 0)) {
          longElements_ = mutableCopy(longElements_);
          bitField0_ |= 0x00000010;
         }
      }
      /**
       * <code>repeated sint64 longElements = 5 [packed = true];</code>
       * @return A list containing the longElements.
       */
      public java.util.List<java.lang.Long>
          getLongElementsList() {
        return ((bitField0_ & 0x00000010) != 0) ?
                 java.util.Collections.unmodifiableList(longElements_) : longElements_;
      }
      /**
       * <code>repeated sint64 longElements = 5 [packed = true];</code>
       * @return The count of longElements.
       */
      public int getLongElementsCount() {
        return longElements_.size();
      }
      /**
       * <code>repeated sint64 longElements = 5 [packed = true];</code>
       * @param index The index of the element to return.
       * @return The longElements at the given index.
       */
      public long getLongElements(int index) {
        return longElements_.getLong(index);
      }
      /**
       * <code>repeated sint64 longElements = 5 [packed = true];</code>
       * @param index The index to set the value at.
       * @param value The longElements to set.
       * @return This builder for chaining.
       */
      public Builder setLongElements(
          int index, long value) {
        ensureLongElementsIsMutable();
        longElements_.setLong(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint64 longElements = 5 [packed = true];</code>
       * @param value The longElements to add.
       * @return This builder for chaining.
       */
      public Builder addLongElements(long value) {
        ensureLongElementsIsMutable();
        longElements_.addLong(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint64 longElements = 5 [packed = true];</code>
       * @param values The longElements to add.
       * @return This builder for chaining.
       */
      public Builder addAllLongElements(
          java.lang.Iterable<? extends java.lang.Long> values) {
        ensureLongElementsIsMutable();
        akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, longElements_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint64 longElements = 5 [packed = true];</code>
       * @return This builder for chaining.
       */
      public Builder clearLongElements() {
        longElements_ = emptyLongList();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }

      private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage> otherElements_ =
        java.util.Collections.emptyList();
      private void ensureOtherElementsIsMutable() {
        if (!((bitField0_ & 0x00000020) != 0)) {
          otherElements_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage>(otherElements_);
          bitField0_ |= 0x00000020;
         }
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> otherElementsBuilder_;

      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage> getOtherElementsList() {
        if (otherElementsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(otherElements_);
        } else {
          return otherElementsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
       */
      public int getOtherElementsCount() {
        if (otherElementsBuilder_ == null) {
          return otherElements_.size();
        } else {
          return otherElementsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherElements(int index) {
        if (otherElementsBuilder_ == null) {
          return otherElements_.get(index);
        } else {
          return otherElementsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
       */
      public Builder setOtherElements(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
        if (otherElementsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOtherElementsIsMutable();
          otherElements_.set(index, value);
          onChanged();
        } else {
          otherElementsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
       */
      public Builder setOtherElements(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
        if (otherElementsBuilder_ == null) {
          ensureOtherElementsIsMutable();
          otherElements_.set(index, builderForValue.build());
          onChanged();
        } else {
          otherElementsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
       */
      public Builder addOtherElements(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
        if (otherElementsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOtherElementsIsMutable();
          otherElements_.add(value);
          onChanged();
        } else {
          otherElementsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
       */
      public Builder addOtherElements(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
        if (otherElementsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOtherElementsIsMutable();
          otherElements_.add(index, value);
          onChanged();
        } else {
          otherElementsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
       */
      public Builder addOtherElements(
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
        if (otherElementsBuilder_ == null) {
          ensureOtherElementsIsMutable();
          otherElements_.add(builderForValue.build());
          onChanged();
        } else {
          otherElementsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
       */
      public Builder addOtherElements(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
        if (otherElementsBuilder_ == null) {
          ensureOtherElementsIsMutable();
          otherElements_.add(index, builderForValue.build());
          onChanged();
        } else {
          otherElementsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
       */
      public Builder addAllOtherElements(
          java.lang.Iterable<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage> values) {
        if (otherElementsBuilder_ == null) {
          ensureOtherElementsIsMutable();
          akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
              values, otherElements_);
          onChanged();
        } else {
          otherElementsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
       */
      public Builder clearOtherElements() {
        if (otherElementsBuilder_ == null) {
          otherElements_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000020);
          onChanged();
        } else {
          otherElementsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
       */
      public Builder removeOtherElements(int index) {
        if (otherElementsBuilder_ == null) {
          ensureOtherElementsIsMutable();
          otherElements_.remove(index);
          onChanged();
        } else {
          otherElementsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getOtherElementsBuilder(
          int index) {
        return getOtherElementsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherElementsOrBuilder(
          int index) {
        if (otherElementsBuilder_ == null) {
          return otherElements_.get(index);  } else {
          return otherElementsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
       */
      public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
           getOtherElementsOrBuilderList() {
        if (otherElementsBuilder_ != null) {
          return otherElementsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(otherElements_);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder addOtherElementsBuilder() {
        return getOtherElementsFieldBuilder().addBuilder(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder addOtherElementsBuilder(
          int index) {
        return getOtherElementsFieldBuilder().addBuilder(
            index, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.OtherMessage otherElements = 6;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder> 
           getOtherElementsBuilderList() {
        return getOtherElementsFieldBuilder().getBuilderList();
      }
      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder> 
          getOtherElementsFieldBuilder() {
        if (otherElementsBuilder_ == null) {
          otherElementsBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                  otherElements_,
                  ((bitField0_ & 0x00000020) != 0),
                  getParentForChildren(),
                  isClean());
          otherElements_ = null;
        }
        return otherElementsBuilder_;
      }

      private akka.protobufv3.internal.LazyStringList actorRefElements_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
      private void ensureActorRefElementsIsMutable() {
        if (!((bitField0_ & 0x00000040) != 0)) {
          actorRefElements_ = new akka.protobufv3.internal.LazyStringArrayList(actorRefElements_);
          bitField0_ |= 0x00000040;
         }
      }
      /**
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       *
       * <code>repeated string actorRefElements = 7;</code>
       * @return A list containing the actorRefElements.
       */
      public akka.protobufv3.internal.ProtocolStringList
          getActorRefElementsList() {
        return actorRefElements_.getUnmodifiableView();
      }
      /**
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       *
       * <code>repeated string actorRefElements = 7;</code>
       * @return The count of actorRefElements.
       */
      public int getActorRefElementsCount() {
        return actorRefElements_.size();
      }
      /**
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       *
       * <code>repeated string actorRefElements = 7;</code>
       * @param index The index of the element to return.
       * @return The actorRefElements at the given index.
       */
      public java.lang.String getActorRefElements(int index) {
        return actorRefElements_.get(index);
      }
      /**
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       *
       * <code>repeated string actorRefElements = 7;</code>
       * @param index The index of the value to return.
       * @return The bytes of the actorRefElements at the given index.
       */
      public akka.protobufv3.internal.ByteString
          getActorRefElementsBytes(int index) {
        return actorRefElements_.getByteString(index);
      }
      /**
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       *
       * <code>repeated string actorRefElements = 7;</code>
       * @param index The index to set the value at.
       * @param value The actorRefElements to set.
       * @return This builder for chaining.
       */
      public Builder setActorRefElements(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureActorRefElementsIsMutable();
        actorRefElements_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       *
       * <code>repeated string actorRefElements = 7;</code>
       * @param value The actorRefElements to add.
       * @return This builder for chaining.
       */
      public Builder addActorRefElements(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureActorRefElementsIsMutable();
        actorRefElements_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       *
       * <code>repeated string actorRefElements = 7;</code>
       * @param values The actorRefElements to add.
       * @return This builder for chaining.
       */
      public Builder addAllActorRefElements(
          java.lang.Iterable<java.lang.String> values) {
        ensureActorRefElementsIsMutable();
        akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, actorRefElements_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       *
       * <code>repeated string actorRefElements = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearActorRefElements() {
        actorRefElements_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000040);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       *
       * <code>repeated string actorRefElements = 7;</code>
       * @param value The bytes of the actorRefElements to add.
       * @return This builder for chaining.
       */
      public Builder addActorRefElementsBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureActorRefElementsIsMutable();
        actorRefElements_.add(value);
        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.ORSet)
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ORSet)
    private static final akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<ORSet>
        PARSER = new akka.protobufv3.internal.AbstractParser<ORSet>() {
      @java.lang.Override
      public ORSet parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new ORSet(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<ORSet> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<ORSet> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ORSetDeltaGroupOrBuilder extends
      // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.ORSetDeltaGroup)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;</code>
     */
    java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry> 
        getEntriesList();
    /**
     * <code>repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry getEntries(int index);
    /**
     * <code>repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;</code>
     */
    int getEntriesCount();
    /**
     * <code>repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;</code>
     */
    java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.EntryOrBuilder> 
        getEntriesOrBuilderList();
    /**
     * <code>repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.EntryOrBuilder getEntriesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code akka.cluster.ddata.ORSetDeltaGroup}
   */
  public  static final class ORSetDeltaGroup extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:akka.cluster.ddata.ORSetDeltaGroup)
      ORSetDeltaGroupOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ORSetDeltaGroup.newBuilder() to construct.
    private ORSetDeltaGroup(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ORSetDeltaGroup() {
      entries_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new ORSetDeltaGroup();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ORSetDeltaGroup(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                entries_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry>();
                mutable_bitField0_ |= 0x00000001;
              }
              entries_.add(
                  input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry.PARSER, extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          entries_ = java.util.Collections.unmodifiableList(entries_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSetDeltaGroup_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSetDeltaGroup_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Builder.class);
    }

    public interface EntryOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.ORSetDeltaGroup.Entry)
        akka.protobufv3.internal.MessageOrBuilder {

      /**
       * <code>required .akka.cluster.ddata.ORSetDeltaOp operation = 1;</code>
       * @return Whether the operation field is set.
       */
      boolean hasOperation();
      /**
       * <code>required .akka.cluster.ddata.ORSetDeltaOp operation = 1;</code>
       * @return The operation.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp getOperation();

      /**
       * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
       * @return Whether the underlying field is set.
       */
      boolean hasUnderlying();
      /**
       * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
       * @return The underlying.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getUnderlying();
      /**
       * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getUnderlyingOrBuilder();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.ORSetDeltaGroup.Entry}
     */
    public  static final class Entry extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.ORSetDeltaGroup.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() {
        operation_ = 0;
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Entry();
      }

      @java.lang.Override
      public final akka.protobufv3.internal.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Entry(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
            akka.protobufv3.internal.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                int rawValue = input.readEnum();
                  @SuppressWarnings("deprecation")
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp value = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp.valueOf(rawValue);
                if (value == null) {
                  unknownFields.mergeVarintField(1, rawValue);
                } else {
                  bitField0_ |= 0x00000001;
                  operation_ = rawValue;
                }
                break;
              }
              case 18: {
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder subBuilder = null;
                if (((bitField0_ & 0x00000002) != 0)) {
                  subBuilder = underlying_.toBuilder();
                }
                underlying_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(underlying_);
                  underlying_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000002;
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobufv3.internal.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSetDeltaGroup_Entry_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSetDeltaGroup_Entry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry.Builder.class);
      }

      private int bitField0_;
      public static final int OPERATION_FIELD_NUMBER = 1;
      private int operation_;
      /**
       * <code>required .akka.cluster.ddata.ORSetDeltaOp operation = 1;</code>
       * @return Whether the operation field is set.
       */
      public boolean hasOperation() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.ORSetDeltaOp operation = 1;</code>
       * @return The operation.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp getOperation() {
        @SuppressWarnings("deprecation")
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp result = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp.valueOf(operation_);
        return result == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp.Add : result;
      }

      public static final int UNDERLYING_FIELD_NUMBER = 2;
      private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet underlying_;
      /**
       * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
       * @return Whether the underlying field is set.
       */
      public boolean hasUnderlying() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
       * @return The underlying.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getUnderlying() {
        return underlying_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : underlying_;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getUnderlyingOrBuilder() {
        return underlying_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : underlying_;
      }

      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 (!hasOperation()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasUnderlying()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getUnderlying().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.writeEnum(1, operation_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeMessage(2, getUnderlying());
        }
        unknownFields.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
            .computeEnumSize(1, operation_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(2, getUnderlying());
        }
        size += unknownFields.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.ReplicatedDataMessages.ORSetDeltaGroup.Entry)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry other = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry) obj;

        if (hasOperation() != other.hasOperation()) return false;
        if (hasOperation()) {
          if (operation_ != other.operation_) return false;
        }
        if (hasUnderlying() != other.hasUnderlying()) return false;
        if (hasUnderlying()) {
          if (!getUnderlying()
              .equals(other.getUnderlying())) return false;
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasOperation()) {
          hash = (37 * hash) + OPERATION_FIELD_NUMBER;
          hash = (53 * hash) + operation_;
        }
        if (hasUnderlying()) {
          hash = (37 * hash) + UNDERLYING_FIELD_NUMBER;
          hash = (53 * hash) + getUnderlying().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.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.ReplicatedDataMessages.ORSetDeltaGroup.Entry parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.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.ReplicatedDataMessages.ORSetDeltaGroup.Entry parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.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.ReplicatedDataMessages.ORSetDeltaGroup.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.ReplicatedDataMessages.ORSetDeltaGroup.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.ReplicatedDataMessages.ORSetDeltaGroup.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.ReplicatedDataMessages.ORSetDeltaGroup.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.ReplicatedDataMessages.ORSetDeltaGroup.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.ReplicatedDataMessages.ORSetDeltaGroup.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.ReplicatedDataMessages.ORSetDeltaGroup.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.ORSetDeltaGroup.Entry}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.ORSetDeltaGroup.Entry)
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.EntryOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSetDeltaGroup_Entry_descriptor;
        }

        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSetDeltaGroup_Entry_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry.Builder.class);
        }

        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.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) {
            getUnderlyingFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          operation_ = 0;
          bitField0_ = (bitField0_ & ~0x00000001);
          if (underlyingBuilder_ == null) {
            underlying_ = null;
          } else {
            underlyingBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSetDeltaGroup_Entry_descriptor;
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry.getDefaultInstance();
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry build() {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            to_bitField0_ |= 0x00000001;
          }
          result.operation_ = operation_;
          if (((from_bitField0_ & 0x00000002) != 0)) {
            if (underlyingBuilder_ == null) {
              result.underlying_ = underlying_;
            } else {
              result.underlying_ = underlyingBuilder_.build();
            }
            to_bitField0_ |= 0x00000002;
          }
          result.bitField0_ = to_bitField0_;
          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.ReplicatedDataMessages.ORSetDeltaGroup.Entry) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry.getDefaultInstance()) return this;
          if (other.hasOperation()) {
            setOperation(other.getOperation());
          }
          if (other.hasUnderlying()) {
            mergeUnderlying(other.getUnderlying());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasOperation()) {
            return false;
          }
          if (!hasUnderlying()) {
            return false;
          }
          if (!getUnderlying().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 {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private int operation_ = 0;
        /**
         * <code>required .akka.cluster.ddata.ORSetDeltaOp operation = 1;</code>
         * @return Whether the operation field is set.
         */
        public boolean hasOperation() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.ORSetDeltaOp operation = 1;</code>
         * @return The operation.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp getOperation() {
          @SuppressWarnings("deprecation")
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp result = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp.valueOf(operation_);
          return result == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp.Add : result;
        }
        /**
         * <code>required .akka.cluster.ddata.ORSetDeltaOp operation = 1;</code>
         * @param value The operation to set.
         * @return This builder for chaining.
         */
        public Builder setOperation(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000001;
          operation_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.ORSetDeltaOp operation = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearOperation() {
          bitField0_ = (bitField0_ & ~0x00000001);
          operation_ = 0;
          onChanged();
          return this;
        }

        private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet underlying_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder> underlyingBuilder_;
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         * @return Whether the underlying field is set.
         */
        public boolean hasUnderlying() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         * @return The underlying.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getUnderlying() {
          if (underlyingBuilder_ == null) {
            return underlying_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : underlying_;
          } else {
            return underlyingBuilder_.getMessage();
          }
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         */
        public Builder setUnderlying(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet value) {
          if (underlyingBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            underlying_ = value;
            onChanged();
          } else {
            underlyingBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         */
        public Builder setUnderlying(
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder builderForValue) {
          if (underlyingBuilder_ == null) {
            underlying_ = builderForValue.build();
            onChanged();
          } else {
            underlyingBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         */
        public Builder mergeUnderlying(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet value) {
          if (underlyingBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0) &&
                underlying_ != null &&
                underlying_ != akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance()) {
              underlying_ =
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.newBuilder(underlying_).mergeFrom(value).buildPartial();
            } else {
              underlying_ = value;
            }
            onChanged();
          } else {
            underlyingBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         */
        public Builder clearUnderlying() {
          if (underlyingBuilder_ == null) {
            underlying_ = null;
            onChanged();
          } else {
            underlyingBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder getUnderlyingBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getUnderlyingFieldBuilder().getBuilder();
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getUnderlyingOrBuilder() {
          if (underlyingBuilder_ != null) {
            return underlyingBuilder_.getMessageOrBuilder();
          } else {
            return underlying_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : underlying_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder> 
            getUnderlyingFieldBuilder() {
          if (underlyingBuilder_ == null) {
            underlyingBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder>(
                    getUnderlying(),
                    getParentForChildren(),
                    isClean());
            underlying_ = null;
          }
          return underlyingBuilder_;
        }
        @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.ORSetDeltaGroup.Entry)
      }

      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ORSetDeltaGroup.Entry)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry();
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.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 {
          return new Entry(input, extensionRegistry);
        }
      };

      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.ReplicatedDataMessages.ORSetDeltaGroup.Entry getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public static final int ENTRIES_FIELD_NUMBER = 1;
    private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry> entries_;
    /**
     * <code>repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;</code>
     */
    public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry> getEntriesList() {
      return entries_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;</code>
     */
    public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.EntryOrBuilder> 
        getEntriesOrBuilderList() {
      return entries_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;</code>
     */
    public int getEntriesCount() {
      return entries_.size();
    }
    /**
     * <code>repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry getEntries(int index) {
      return entries_.get(index);
    }
    /**
     * <code>repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.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));
      }
      unknownFields.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 += unknownFields.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.ReplicatedDataMessages.ORSetDeltaGroup)) {
        return super.equals(obj);
      }
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup other = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup) obj;

      if (!getEntriesList()
          .equals(other.getEntriesList())) return false;
      if (!unknownFields.equals(other.unknownFields)) 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) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup 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.ReplicatedDataMessages.ORSetDeltaGroup parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup 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.ReplicatedDataMessages.ORSetDeltaGroup parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup 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.ReplicatedDataMessages.ORSetDeltaGroup parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup 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.ReplicatedDataMessages.ORSetDeltaGroup parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup 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.ReplicatedDataMessages.ORSetDeltaGroup 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.ReplicatedDataMessages.ORSetDeltaGroup 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.ReplicatedDataMessages.ORSetDeltaGroup 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.ORSetDeltaGroup}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.ORSetDeltaGroup)
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroupOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSetDeltaGroup_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSetDeltaGroup_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Builder.class);
      }

      // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getEntriesFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (entriesBuilder_ == null) {
          entries_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          entriesBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSetDeltaGroup_descriptor;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup getDefaultInstanceForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.getDefaultInstance();
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup build() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup buildPartial() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup(this);
        int from_bitField0_ = bitField0_;
        if (entriesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            entries_ = java.util.Collections.unmodifiableList(entries_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.entries_ = entries_;
        } else {
          result.entries_ = entriesBuilder_.build();
        }
        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.ReplicatedDataMessages.ORSetDeltaGroup) {
          return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup other) {
        if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.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.unknownFields);
        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 {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry> entries_ =
        java.util.Collections.emptyList();
      private void ensureEntriesIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          entries_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry>(entries_);
          bitField0_ |= 0x00000001;
         }
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.EntryOrBuilder> entriesBuilder_;

      /**
       * <code>repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry> getEntriesList() {
        if (entriesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(entries_);
        } else {
          return entriesBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;</code>
       */
      public int getEntriesCount() {
        if (entriesBuilder_ == null) {
          return entries_.size();
        } else {
          return entriesBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry getEntries(int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);
        } else {
          return entriesBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;</code>
       */
      public Builder setEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.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.ORSetDeltaGroup.Entry entries = 1;</code>
       */
      public Builder setEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.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.ORSetDeltaGroup.Entry entries = 1;</code>
       */
      public Builder addEntries(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.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.ORSetDeltaGroup.Entry entries = 1;</code>
       */
      public Builder addEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.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.ORSetDeltaGroup.Entry entries = 1;</code>
       */
      public Builder addEntries(
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry.Builder builderForValue) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.add(builderForValue.build());
          onChanged();
        } else {
          entriesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;</code>
       */
      public Builder addEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.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.ORSetDeltaGroup.Entry entries = 1;</code>
       */
      public Builder addAllEntries(
          java.lang.Iterable<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.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.ORSetDeltaGroup.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.ORSetDeltaGroup.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.ORSetDeltaGroup.Entry entries = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry.Builder getEntriesBuilder(
          int index) {
        return getEntriesFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.EntryOrBuilder getEntriesOrBuilder(
          int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);  } else {
          return entriesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;</code>
       */
      public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.EntryOrBuilder> 
           getEntriesOrBuilderList() {
        if (entriesBuilder_ != null) {
          return entriesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(entries_);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry.Builder addEntriesBuilder() {
        return getEntriesFieldBuilder().addBuilder(
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry.Builder addEntriesBuilder(
          int index) {
        return getEntriesFieldBuilder().addBuilder(
            index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry.Builder> 
           getEntriesBuilderList() {
        return getEntriesFieldBuilder().getBuilderList();
      }
      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.EntryOrBuilder> 
          getEntriesFieldBuilder() {
        if (entriesBuilder_ == null) {
          entriesBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.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.ORSetDeltaGroup)
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ORSetDeltaGroup)
    private static final akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<ORSetDeltaGroup>
        PARSER = new akka.protobufv3.internal.AbstractParser<ORSetDeltaGroup>() {
      @java.lang.Override
      public ORSetDeltaGroup parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new ORSetDeltaGroup(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<ORSetDeltaGroup> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<ORSetDeltaGroup> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface FlagOrBuilder extends
      // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.Flag)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required bool enabled = 1;</code>
     * @return Whether the enabled field is set.
     */
    boolean hasEnabled();
    /**
     * <code>required bool enabled = 1;</code>
     * @return The enabled.
     */
    boolean getEnabled();
  }
  /**
   * Protobuf type {@code akka.cluster.ddata.Flag}
   */
  public  static final class Flag extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:akka.cluster.ddata.Flag)
      FlagOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Flag.newBuilder() to construct.
    private Flag(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Flag() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new Flag();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Flag(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {
              bitField0_ |= 0x00000001;
              enabled_ = input.readBool();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_Flag_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_Flag_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag.Builder.class);
    }

    private int bitField0_;
    public static final int ENABLED_FIELD_NUMBER = 1;
    private boolean enabled_;
    /**
     * <code>required bool enabled = 1;</code>
     * @return Whether the enabled field is set.
     */
    public boolean hasEnabled() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required bool enabled = 1;</code>
     * @return The enabled.
     */
    public boolean getEnabled() {
      return enabled_;
    }

    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 (!hasEnabled()) {
        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, enabled_);
      }
      unknownFields.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, enabled_);
      }
      size += unknownFields.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.ReplicatedDataMessages.Flag)) {
        return super.equals(obj);
      }
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag other = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag) obj;

      if (hasEnabled() != other.hasEnabled()) return false;
      if (hasEnabled()) {
        if (getEnabled()
            != other.getEnabled()) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasEnabled()) {
        hash = (37 * hash) + ENABLED_FIELD_NUMBER;
        hash = (53 * hash) + akka.protobufv3.internal.Internal.hashBoolean(
            getEnabled());
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag 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.ReplicatedDataMessages.Flag parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag 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.ReplicatedDataMessages.Flag parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag 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.ReplicatedDataMessages.Flag parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag 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.ReplicatedDataMessages.Flag parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag 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.ReplicatedDataMessages.Flag 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.ReplicatedDataMessages.Flag 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.ReplicatedDataMessages.Flag 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.Flag}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.Flag)
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.FlagOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_Flag_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_Flag_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag.Builder.class);
      }

      // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        enabled_ = false;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_Flag_descriptor;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag getDefaultInstanceForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag.getDefaultInstance();
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag build() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag buildPartial() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.enabled_ = enabled_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ = to_bitField0_;
        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.ReplicatedDataMessages.Flag) {
          return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag other) {
        if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag.getDefaultInstance()) return this;
        if (other.hasEnabled()) {
          setEnabled(other.getEnabled());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private boolean enabled_ ;
      /**
       * <code>required bool enabled = 1;</code>
       * @return Whether the enabled field is set.
       */
      public boolean hasEnabled() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required bool enabled = 1;</code>
       * @return The enabled.
       */
      public boolean getEnabled() {
        return enabled_;
      }
      /**
       * <code>required bool enabled = 1;</code>
       * @param value The enabled to set.
       * @return This builder for chaining.
       */
      public Builder setEnabled(boolean value) {
        bitField0_ |= 0x00000001;
        enabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bool enabled = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearEnabled() {
        bitField0_ = (bitField0_ & ~0x00000001);
        enabled_ = 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.Flag)
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.Flag)
    private static final akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Flag>
        PARSER = new akka.protobufv3.internal.AbstractParser<Flag>() {
      @java.lang.Override
      public Flag parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new Flag(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<Flag> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<Flag> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface LWWRegisterOrBuilder extends
      // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.LWWRegister)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required sint64 timestamp = 1;</code>
     * @return Whether the timestamp field is set.
     */
    boolean hasTimestamp();
    /**
     * <code>required sint64 timestamp = 1;</code>
     * @return The timestamp.
     */
    long getTimestamp();

    /**
     * <code>required .akka.cluster.ddata.UniqueAddress node = 2;</code>
     * @return Whether the node field is set.
     */
    boolean hasNode();
    /**
     * <code>required .akka.cluster.ddata.UniqueAddress node = 2;</code>
     * @return The node.
     */
    akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getNode();
    /**
     * <code>required .akka.cluster.ddata.UniqueAddress node = 2;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getNodeOrBuilder();

    /**
     * <code>required .akka.cluster.ddata.OtherMessage state = 3;</code>
     * @return Whether the state field is set.
     */
    boolean hasState();
    /**
     * <code>required .akka.cluster.ddata.OtherMessage state = 3;</code>
     * @return The state.
     */
    akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getState();
    /**
     * <code>required .akka.cluster.ddata.OtherMessage state = 3;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getStateOrBuilder();
  }
  /**
   * Protobuf type {@code akka.cluster.ddata.LWWRegister}
   */
  public  static final class LWWRegister extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:akka.cluster.ddata.LWWRegister)
      LWWRegisterOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use LWWRegister.newBuilder() to construct.
    private LWWRegister(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private LWWRegister() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new LWWRegister();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private LWWRegister(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {
              bitField0_ |= 0x00000001;
              timestamp_ = input.readSInt64();
              break;
            }
            case 18: {
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) != 0)) {
                subBuilder = node_.toBuilder();
              }
              node_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(node_);
                node_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 26: {
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) != 0)) {
                subBuilder = state_.toBuilder();
              }
              state_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(state_);
                state_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWRegister_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWRegister_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.Builder.class);
    }

    private int bitField0_;
    public static final int TIMESTAMP_FIELD_NUMBER = 1;
    private long timestamp_;
    /**
     * <code>required sint64 timestamp = 1;</code>
     * @return Whether the timestamp field is set.
     */
    public boolean hasTimestamp() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required sint64 timestamp = 1;</code>
     * @return The timestamp.
     */
    public long getTimestamp() {
      return timestamp_;
    }

    public static final int NODE_FIELD_NUMBER = 2;
    private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress node_;
    /**
     * <code>required .akka.cluster.ddata.UniqueAddress node = 2;</code>
     * @return Whether the node field is set.
     */
    public boolean hasNode() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required .akka.cluster.ddata.UniqueAddress node = 2;</code>
     * @return The node.
     */
    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 = 2;</code>
     */
    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 STATE_FIELD_NUMBER = 3;
    private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage state_;
    /**
     * <code>required .akka.cluster.ddata.OtherMessage state = 3;</code>
     * @return Whether the state field is set.
     */
    public boolean hasState() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>required .akka.cluster.ddata.OtherMessage state = 3;</code>
     * @return The state.
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getState() {
      return state_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : state_;
    }
    /**
     * <code>required .akka.cluster.ddata.OtherMessage state = 3;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getStateOrBuilder() {
      return state_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : state_;
    }

    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 (!hasTimestamp()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasNode()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasState()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getNode().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getState().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.writeSInt64(1, timestamp_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(2, getNode());
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeMessage(3, getState());
      }
      unknownFields.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
          .computeSInt64Size(1, timestamp_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(2, getNode());
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(3, getState());
      }
      size += unknownFields.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.ReplicatedDataMessages.LWWRegister)) {
        return super.equals(obj);
      }
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister other = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister) obj;

      if (hasTimestamp() != other.hasTimestamp()) return false;
      if (hasTimestamp()) {
        if (getTimestamp()
            != other.getTimestamp()) return false;
      }
      if (hasNode() != other.hasNode()) return false;
      if (hasNode()) {
        if (!getNode()
            .equals(other.getNode())) return false;
      }
      if (hasState() != other.hasState()) return false;
      if (hasState()) {
        if (!getState()
            .equals(other.getState())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasTimestamp()) {
        hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
        hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
            getTimestamp());
      }
      if (hasNode()) {
        hash = (37 * hash) + NODE_FIELD_NUMBER;
        hash = (53 * hash) + getNode().hashCode();
      }
      if (hasState()) {
        hash = (37 * hash) + STATE_FIELD_NUMBER;
        hash = (53 * hash) + getState().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister 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.ReplicatedDataMessages.LWWRegister parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister 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.ReplicatedDataMessages.LWWRegister parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister 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.ReplicatedDataMessages.LWWRegister parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister 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.ReplicatedDataMessages.LWWRegister parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister 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.ReplicatedDataMessages.LWWRegister 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.ReplicatedDataMessages.LWWRegister 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.ReplicatedDataMessages.LWWRegister 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.LWWRegister}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.LWWRegister)
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegisterOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWRegister_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWRegister_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.Builder.class);
      }

      // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.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();
          getStateFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        timestamp_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (nodeBuilder_ == null) {
          node_ = null;
        } else {
          nodeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (stateBuilder_ == null) {
          state_ = null;
        } else {
          stateBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWRegister_descriptor;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister getDefaultInstanceForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.getDefaultInstance();
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister build() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister buildPartial() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.timestamp_ = timestamp_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          if (nodeBuilder_ == null) {
            result.node_ = node_;
          } else {
            result.node_ = nodeBuilder_.build();
          }
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          if (stateBuilder_ == null) {
            result.state_ = state_;
          } else {
            result.state_ = stateBuilder_.build();
          }
          to_bitField0_ |= 0x00000004;
        }
        result.bitField0_ = to_bitField0_;
        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.ReplicatedDataMessages.LWWRegister) {
          return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister other) {
        if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.getDefaultInstance()) return this;
        if (other.hasTimestamp()) {
          setTimestamp(other.getTimestamp());
        }
        if (other.hasNode()) {
          mergeNode(other.getNode());
        }
        if (other.hasState()) {
          mergeState(other.getState());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasTimestamp()) {
          return false;
        }
        if (!hasNode()) {
          return false;
        }
        if (!hasState()) {
          return false;
        }
        if (!getNode().isInitialized()) {
          return false;
        }
        if (!getState().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 {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private long timestamp_ ;
      /**
       * <code>required sint64 timestamp = 1;</code>
       * @return Whether the timestamp field is set.
       */
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required sint64 timestamp = 1;</code>
       * @return The timestamp.
       */
      public long getTimestamp() {
        return timestamp_;
      }
      /**
       * <code>required sint64 timestamp = 1;</code>
       * @param value The timestamp to set.
       * @return This builder for chaining.
       */
      public Builder setTimestamp(long value) {
        bitField0_ |= 0x00000001;
        timestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required sint64 timestamp = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000001);
        timestamp_ = 0L;
        onChanged();
        return this;
      }

      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 = 2;</code>
       * @return Whether the node field is set.
       */
      public boolean hasNode() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.UniqueAddress node = 2;</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 = 2;</code>
       */
      public Builder setNode(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress value) {
        if (nodeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          node_ = value;
          onChanged();
        } else {
          nodeBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.UniqueAddress node = 2;</code>
       */
      public Builder setNode(
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder builderForValue) {
        if (nodeBuilder_ == null) {
          node_ = builderForValue.build();
          onChanged();
        } else {
          nodeBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.UniqueAddress node = 2;</code>
       */
      public Builder mergeNode(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress value) {
        if (nodeBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
              node_ != null &&
              node_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance()) {
            node_ =
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.newBuilder(node_).mergeFrom(value).buildPartial();
          } else {
            node_ = value;
          }
          onChanged();
        } else {
          nodeBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.UniqueAddress node = 2;</code>
       */
      public Builder clearNode() {
        if (nodeBuilder_ == null) {
          node_ = null;
          onChanged();
        } else {
          nodeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.UniqueAddress node = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder getNodeBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getNodeFieldBuilder().getBuilder();
      }
      /**
       * <code>required .akka.cluster.ddata.UniqueAddress node = 2;</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 = 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> 
          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 akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage state_;
      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> stateBuilder_;
      /**
       * <code>required .akka.cluster.ddata.OtherMessage state = 3;</code>
       * @return Whether the state field is set.
       */
      public boolean hasState() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage state = 3;</code>
       * @return The state.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getState() {
        if (stateBuilder_ == null) {
          return state_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : state_;
        } else {
          return stateBuilder_.getMessage();
        }
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage state = 3;</code>
       */
      public Builder setState(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
        if (stateBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          state_ = value;
          onChanged();
        } else {
          stateBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage state = 3;</code>
       */
      public Builder setState(
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
        if (stateBuilder_ == null) {
          state_ = builderForValue.build();
          onChanged();
        } else {
          stateBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage state = 3;</code>
       */
      public Builder mergeState(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
        if (stateBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0) &&
              state_ != null &&
              state_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
            state_ =
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.newBuilder(state_).mergeFrom(value).buildPartial();
          } else {
            state_ = value;
          }
          onChanged();
        } else {
          stateBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage state = 3;</code>
       */
      public Builder clearState() {
        if (stateBuilder_ == null) {
          state_ = null;
          onChanged();
        } else {
          stateBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage state = 3;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getStateBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getStateFieldBuilder().getBuilder();
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage state = 3;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getStateOrBuilder() {
        if (stateBuilder_ != null) {
          return stateBuilder_.getMessageOrBuilder();
        } else {
          return state_ == null ?
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : state_;
        }
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage state = 3;</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> 
          getStateFieldBuilder() {
        if (stateBuilder_ == null) {
          stateBuilder_ = 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>(
                  getState(),
                  getParentForChildren(),
                  isClean());
          state_ = null;
        }
        return stateBuilder_;
      }
      @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.LWWRegister)
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.LWWRegister)
    private static final akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<LWWRegister>
        PARSER = new akka.protobufv3.internal.AbstractParser<LWWRegister>() {
      @java.lang.Override
      public LWWRegister parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new LWWRegister(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<LWWRegister> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<LWWRegister> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface GCounterOrBuilder extends
      // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.GCounter)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>repeated .akka.cluster.ddata.GCounter.Entry entries = 1;</code>
     */
    java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry> 
        getEntriesList();
    /**
     * <code>repeated .akka.cluster.ddata.GCounter.Entry entries = 1;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry getEntries(int index);
    /**
     * <code>repeated .akka.cluster.ddata.GCounter.Entry entries = 1;</code>
     */
    int getEntriesCount();
    /**
     * <code>repeated .akka.cluster.ddata.GCounter.Entry entries = 1;</code>
     */
    java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.EntryOrBuilder> 
        getEntriesOrBuilderList();
    /**
     * <code>repeated .akka.cluster.ddata.GCounter.Entry entries = 1;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.EntryOrBuilder getEntriesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code akka.cluster.ddata.GCounter}
   */
  public  static final class GCounter extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:akka.cluster.ddata.GCounter)
      GCounterOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GCounter.newBuilder() to construct.
    private GCounter(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private GCounter() {
      entries_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new GCounter();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private GCounter(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                entries_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry>();
                mutable_bitField0_ |= 0x00000001;
              }
              entries_.add(
                  input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry.PARSER, extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          entries_ = java.util.Collections.unmodifiableList(entries_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GCounter_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GCounter_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Builder.class);
    }

    public interface EntryOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.GCounter.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 bytes value = 2;</code>
       * @return Whether the value field is set.
       */
      boolean hasValue();
      /**
       * <code>required bytes value = 2;</code>
       * @return The value.
       */
      akka.protobufv3.internal.ByteString getValue();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.GCounter.Entry}
     */
    public  static final class Entry extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.GCounter.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() {
        value_ = akka.protobufv3.internal.ByteString.EMPTY;
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Entry();
      }

      @java.lang.Override
      public final akka.protobufv3.internal.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Entry(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
            akka.protobufv3.internal.UnknownFieldSet.newBuilder();
        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.UniqueAddress.Builder subBuilder = null;
                if (((bitField0_ & 0x00000001) != 0)) {
                  subBuilder = node_.toBuilder();
                }
                node_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(node_);
                  node_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000001;
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                value_ = input.readBytes();
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobufv3.internal.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GCounter_Entry_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GCounter_Entry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.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.
       */
      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() {
        return node_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance() : node_;
      }
      /**
       * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
       */
      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 VALUE_FIELD_NUMBER = 2;
      private akka.protobufv3.internal.ByteString value_;
      /**
       * <code>required bytes value = 2;</code>
       * @return Whether the value field is set.
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required bytes value = 2;</code>
       * @return The value.
       */
      public akka.protobufv3.internal.ByteString getValue() {
        return value_;
      }

      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 (!hasValue()) {
          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.writeBytes(2, value_);
        }
        unknownFields.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
            .computeBytesSize(2, value_);
        }
        size += unknownFields.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.ReplicatedDataMessages.GCounter.Entry)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry other = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry) obj;

        if (hasNode() != other.hasNode()) return false;
        if (hasNode()) {
          if (!getNode()
              .equals(other.getNode())) return false;
        }
        if (hasValue() != other.hasValue()) return false;
        if (hasValue()) {
          if (!getValue()
              .equals(other.getValue())) return false;
        }
        if (!unknownFields.equals(other.unknownFields)) 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 (hasValue()) {
          hash = (37 * hash) + VALUE_FIELD_NUMBER;
          hash = (53 * hash) + getValue().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.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.ReplicatedDataMessages.GCounter.Entry parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.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.ReplicatedDataMessages.GCounter.Entry parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.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.ReplicatedDataMessages.GCounter.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.ReplicatedDataMessages.GCounter.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.ReplicatedDataMessages.GCounter.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.ReplicatedDataMessages.GCounter.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.ReplicatedDataMessages.GCounter.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.ReplicatedDataMessages.GCounter.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.ReplicatedDataMessages.GCounter.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.GCounter.Entry}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.GCounter.Entry)
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.EntryOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GCounter_Entry_descriptor;
        }

        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GCounter_Entry_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry.Builder.class);
        }

        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.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();
          if (nodeBuilder_ == null) {
            node_ = null;
          } else {
            nodeBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          value_ = akka.protobufv3.internal.ByteString.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GCounter_Entry_descriptor;
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry.getDefaultInstance();
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry build() {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            if (nodeBuilder_ == null) {
              result.node_ = node_;
            } else {
              result.node_ = nodeBuilder_.build();
            }
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            to_bitField0_ |= 0x00000002;
          }
          result.value_ = value_;
          result.bitField0_ = to_bitField0_;
          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.ReplicatedDataMessages.GCounter.Entry) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry.getDefaultInstance()) return this;
          if (other.hasNode()) {
            mergeNode(other.getNode());
          }
          if (other.hasValue()) {
            setValue(other.getValue());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasNode()) {
            return false;
          }
          if (!hasValue()) {
            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 {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          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;
            onChanged();
          } else {
            nodeBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          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();
            onChanged();
          } else {
            nodeBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          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()) {
              node_ =
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.newBuilder(node_).mergeFrom(value).buildPartial();
            } else {
              node_ = value;
            }
            onChanged();
          } else {
            nodeBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
         */
        public Builder clearNode() {
          if (nodeBuilder_ == null) {
            node_ = null;
            onChanged();
          } else {
            nodeBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          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 akka.protobufv3.internal.ByteString value_ = akka.protobufv3.internal.ByteString.EMPTY;
        /**
         * <code>required bytes value = 2;</code>
         * @return Whether the value field is set.
         */
        public boolean hasValue() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required bytes value = 2;</code>
         * @return The value.
         */
        public akka.protobufv3.internal.ByteString getValue() {
          return value_;
        }
        /**
         * <code>required bytes value = 2;</code>
         * @param value The value to set.
         * @return This builder for chaining.
         */
        public Builder setValue(akka.protobufv3.internal.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
          value_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required bytes value = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearValue() {
          bitField0_ = (bitField0_ & ~0x00000002);
          value_ = getDefaultInstance().getValue();
          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.GCounter.Entry)
      }

      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.GCounter.Entry)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry();
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.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 {
          return new Entry(input, extensionRegistry);
        }
      };

      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.ReplicatedDataMessages.GCounter.Entry getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public static final int ENTRIES_FIELD_NUMBER = 1;
    private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry> entries_;
    /**
     * <code>repeated .akka.cluster.ddata.GCounter.Entry entries = 1;</code>
     */
    public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry> getEntriesList() {
      return entries_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.GCounter.Entry entries = 1;</code>
     */
    public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.EntryOrBuilder> 
        getEntriesOrBuilderList() {
      return entries_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.GCounter.Entry entries = 1;</code>
     */
    public int getEntriesCount() {
      return entries_.size();
    }
    /**
     * <code>repeated .akka.cluster.ddata.GCounter.Entry entries = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry getEntries(int index) {
      return entries_.get(index);
    }
    /**
     * <code>repeated .akka.cluster.ddata.GCounter.Entry entries = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.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));
      }
      unknownFields.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 += unknownFields.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.ReplicatedDataMessages.GCounter)) {
        return super.equals(obj);
      }
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter other = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter) obj;

      if (!getEntriesList()
          .equals(other.getEntriesList())) return false;
      if (!unknownFields.equals(other.unknownFields)) 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) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter 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.ReplicatedDataMessages.GCounter parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter 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.ReplicatedDataMessages.GCounter parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter 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.ReplicatedDataMessages.GCounter parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter 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.ReplicatedDataMessages.GCounter parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter 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.ReplicatedDataMessages.GCounter 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.ReplicatedDataMessages.GCounter 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.ReplicatedDataMessages.GCounter 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.GCounter}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.GCounter)
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounterOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GCounter_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GCounter_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Builder.class);
      }

      // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getEntriesFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (entriesBuilder_ == null) {
          entries_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          entriesBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GCounter_descriptor;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter getDefaultInstanceForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.getDefaultInstance();
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter build() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter buildPartial() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter(this);
        int from_bitField0_ = bitField0_;
        if (entriesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            entries_ = java.util.Collections.unmodifiableList(entries_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.entries_ = entries_;
        } else {
          result.entries_ = entriesBuilder_.build();
        }
        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.ReplicatedDataMessages.GCounter) {
          return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter other) {
        if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.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.unknownFields);
        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 {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry> entries_ =
        java.util.Collections.emptyList();
      private void ensureEntriesIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          entries_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry>(entries_);
          bitField0_ |= 0x00000001;
         }
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.EntryOrBuilder> entriesBuilder_;

      /**
       * <code>repeated .akka.cluster.ddata.GCounter.Entry entries = 1;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry> getEntriesList() {
        if (entriesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(entries_);
        } else {
          return entriesBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.GCounter.Entry entries = 1;</code>
       */
      public int getEntriesCount() {
        if (entriesBuilder_ == null) {
          return entries_.size();
        } else {
          return entriesBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.GCounter.Entry entries = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry getEntries(int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);
        } else {
          return entriesBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.GCounter.Entry entries = 1;</code>
       */
      public Builder setEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.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.GCounter.Entry entries = 1;</code>
       */
      public Builder setEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.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.GCounter.Entry entries = 1;</code>
       */
      public Builder addEntries(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.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.GCounter.Entry entries = 1;</code>
       */
      public Builder addEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.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.GCounter.Entry entries = 1;</code>
       */
      public Builder addEntries(
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry.Builder builderForValue) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.add(builderForValue.build());
          onChanged();
        } else {
          entriesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.GCounter.Entry entries = 1;</code>
       */
      public Builder addEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.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.GCounter.Entry entries = 1;</code>
       */
      public Builder addAllEntries(
          java.lang.Iterable<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.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.GCounter.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.GCounter.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.GCounter.Entry entries = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry.Builder getEntriesBuilder(
          int index) {
        return getEntriesFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .akka.cluster.ddata.GCounter.Entry entries = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.EntryOrBuilder getEntriesOrBuilder(
          int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);  } else {
          return entriesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.GCounter.Entry entries = 1;</code>
       */
      public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.EntryOrBuilder> 
           getEntriesOrBuilderList() {
        if (entriesBuilder_ != null) {
          return entriesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(entries_);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.GCounter.Entry entries = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry.Builder addEntriesBuilder() {
        return getEntriesFieldBuilder().addBuilder(
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.GCounter.Entry entries = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry.Builder addEntriesBuilder(
          int index) {
        return getEntriesFieldBuilder().addBuilder(
            index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.GCounter.Entry entries = 1;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry.Builder> 
           getEntriesBuilderList() {
        return getEntriesFieldBuilder().getBuilderList();
      }
      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.EntryOrBuilder> 
          getEntriesFieldBuilder() {
        if (entriesBuilder_ == null) {
          entriesBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.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.GCounter)
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.GCounter)
    private static final akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<GCounter>
        PARSER = new akka.protobufv3.internal.AbstractParser<GCounter>() {
      @java.lang.Override
      public GCounter parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new GCounter(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<GCounter> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<GCounter> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PNCounterOrBuilder extends
      // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.PNCounter)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
     * @return Whether the increments field is set.
     */
    boolean hasIncrements();
    /**
     * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
     * @return The increments.
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter getIncrements();
    /**
     * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounterOrBuilder getIncrementsOrBuilder();

    /**
     * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
     * @return Whether the decrements field is set.
     */
    boolean hasDecrements();
    /**
     * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
     * @return The decrements.
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter getDecrements();
    /**
     * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounterOrBuilder getDecrementsOrBuilder();
  }
  /**
   * Protobuf type {@code akka.cluster.ddata.PNCounter}
   */
  public  static final class PNCounter extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:akka.cluster.ddata.PNCounter)
      PNCounterOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PNCounter.newBuilder() to construct.
    private PNCounter(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PNCounter() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new PNCounter();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PNCounter(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = increments_.toBuilder();
              }
              increments_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(increments_);
                increments_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) != 0)) {
                subBuilder = decrements_.toBuilder();
              }
              decrements_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(decrements_);
                decrements_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounter_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounter_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.Builder.class);
    }

    private int bitField0_;
    public static final int INCREMENTS_FIELD_NUMBER = 1;
    private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter increments_;
    /**
     * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
     * @return Whether the increments field is set.
     */
    public boolean hasIncrements() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
     * @return The increments.
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter getIncrements() {
      return increments_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.getDefaultInstance() : increments_;
    }
    /**
     * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounterOrBuilder getIncrementsOrBuilder() {
      return increments_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.getDefaultInstance() : increments_;
    }

    public static final int DECREMENTS_FIELD_NUMBER = 2;
    private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter decrements_;
    /**
     * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
     * @return Whether the decrements field is set.
     */
    public boolean hasDecrements() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
     * @return The decrements.
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter getDecrements() {
      return decrements_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.getDefaultInstance() : decrements_;
    }
    /**
     * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounterOrBuilder getDecrementsOrBuilder() {
      return decrements_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.getDefaultInstance() : decrements_;
    }

    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 (!hasIncrements()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasDecrements()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getIncrements().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getDecrements().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, getIncrements());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(2, getDecrements());
      }
      unknownFields.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, getIncrements());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(2, getDecrements());
      }
      size += unknownFields.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.ReplicatedDataMessages.PNCounter)) {
        return super.equals(obj);
      }
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter other = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter) obj;

      if (hasIncrements() != other.hasIncrements()) return false;
      if (hasIncrements()) {
        if (!getIncrements()
            .equals(other.getIncrements())) return false;
      }
      if (hasDecrements() != other.hasDecrements()) return false;
      if (hasDecrements()) {
        if (!getDecrements()
            .equals(other.getDecrements())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasIncrements()) {
        hash = (37 * hash) + INCREMENTS_FIELD_NUMBER;
        hash = (53 * hash) + getIncrements().hashCode();
      }
      if (hasDecrements()) {
        hash = (37 * hash) + DECREMENTS_FIELD_NUMBER;
        hash = (53 * hash) + getDecrements().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter 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.ReplicatedDataMessages.PNCounter parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter 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.ReplicatedDataMessages.PNCounter parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter 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.ReplicatedDataMessages.PNCounter parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter 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.ReplicatedDataMessages.PNCounter parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter 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.ReplicatedDataMessages.PNCounter 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.ReplicatedDataMessages.PNCounter 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.ReplicatedDataMessages.PNCounter 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.PNCounter}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.PNCounter)
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounter_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounter_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.Builder.class);
      }

      // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getIncrementsFieldBuilder();
          getDecrementsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (incrementsBuilder_ == null) {
          increments_ = null;
        } else {
          incrementsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (decrementsBuilder_ == null) {
          decrements_ = null;
        } else {
          decrementsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounter_descriptor;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter getDefaultInstanceForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.getDefaultInstance();
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter build() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter buildPartial() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (incrementsBuilder_ == null) {
            result.increments_ = increments_;
          } else {
            result.increments_ = incrementsBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          if (decrementsBuilder_ == null) {
            result.decrements_ = decrements_;
          } else {
            result.decrements_ = decrementsBuilder_.build();
          }
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ = to_bitField0_;
        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.ReplicatedDataMessages.PNCounter) {
          return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter other) {
        if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.getDefaultInstance()) return this;
        if (other.hasIncrements()) {
          mergeIncrements(other.getIncrements());
        }
        if (other.hasDecrements()) {
          mergeDecrements(other.getDecrements());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasIncrements()) {
          return false;
        }
        if (!hasDecrements()) {
          return false;
        }
        if (!getIncrements().isInitialized()) {
          return false;
        }
        if (!getDecrements().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 {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter increments_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounterOrBuilder> incrementsBuilder_;
      /**
       * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
       * @return Whether the increments field is set.
       */
      public boolean hasIncrements() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
       * @return The increments.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter getIncrements() {
        if (incrementsBuilder_ == null) {
          return increments_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.getDefaultInstance() : increments_;
        } else {
          return incrementsBuilder_.getMessage();
        }
      }
      /**
       * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
       */
      public Builder setIncrements(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter value) {
        if (incrementsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          increments_ = value;
          onChanged();
        } else {
          incrementsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
       */
      public Builder setIncrements(
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Builder builderForValue) {
        if (incrementsBuilder_ == null) {
          increments_ = builderForValue.build();
          onChanged();
        } else {
          incrementsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
       */
      public Builder mergeIncrements(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter value) {
        if (incrementsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              increments_ != null &&
              increments_ != akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.getDefaultInstance()) {
            increments_ =
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.newBuilder(increments_).mergeFrom(value).buildPartial();
          } else {
            increments_ = value;
          }
          onChanged();
        } else {
          incrementsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
       */
      public Builder clearIncrements() {
        if (incrementsBuilder_ == null) {
          increments_ = null;
          onChanged();
        } else {
          incrementsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Builder getIncrementsBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getIncrementsFieldBuilder().getBuilder();
      }
      /**
       * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounterOrBuilder getIncrementsOrBuilder() {
        if (incrementsBuilder_ != null) {
          return incrementsBuilder_.getMessageOrBuilder();
        } else {
          return increments_ == null ?
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.getDefaultInstance() : increments_;
        }
      }
      /**
       * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounterOrBuilder> 
          getIncrementsFieldBuilder() {
        if (incrementsBuilder_ == null) {
          incrementsBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounterOrBuilder>(
                  getIncrements(),
                  getParentForChildren(),
                  isClean());
          increments_ = null;
        }
        return incrementsBuilder_;
      }

      private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter decrements_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounterOrBuilder> decrementsBuilder_;
      /**
       * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
       * @return Whether the decrements field is set.
       */
      public boolean hasDecrements() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
       * @return The decrements.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter getDecrements() {
        if (decrementsBuilder_ == null) {
          return decrements_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.getDefaultInstance() : decrements_;
        } else {
          return decrementsBuilder_.getMessage();
        }
      }
      /**
       * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
       */
      public Builder setDecrements(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter value) {
        if (decrementsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          decrements_ = value;
          onChanged();
        } else {
          decrementsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
       */
      public Builder setDecrements(
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Builder builderForValue) {
        if (decrementsBuilder_ == null) {
          decrements_ = builderForValue.build();
          onChanged();
        } else {
          decrementsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
       */
      public Builder mergeDecrements(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter value) {
        if (decrementsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
              decrements_ != null &&
              decrements_ != akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.getDefaultInstance()) {
            decrements_ =
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.newBuilder(decrements_).mergeFrom(value).buildPartial();
          } else {
            decrements_ = value;
          }
          onChanged();
        } else {
          decrementsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
       */
      public Builder clearDecrements() {
        if (decrementsBuilder_ == null) {
          decrements_ = null;
          onChanged();
        } else {
          decrementsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Builder getDecrementsBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getDecrementsFieldBuilder().getBuilder();
      }
      /**
       * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounterOrBuilder getDecrementsOrBuilder() {
        if (decrementsBuilder_ != null) {
          return decrementsBuilder_.getMessageOrBuilder();
        } else {
          return decrements_ == null ?
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.getDefaultInstance() : decrements_;
        }
      }
      /**
       * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounterOrBuilder> 
          getDecrementsFieldBuilder() {
        if (decrementsBuilder_ == null) {
          decrementsBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounterOrBuilder>(
                  getDecrements(),
                  getParentForChildren(),
                  isClean());
          decrements_ = null;
        }
        return decrementsBuilder_;
      }
      @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.PNCounter)
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.PNCounter)
    private static final akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<PNCounter>
        PARSER = new akka.protobufv3.internal.AbstractParser<PNCounter>() {
      @java.lang.Override
      public PNCounter parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new PNCounter(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<PNCounter> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<PNCounter> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ORMapOrBuilder extends
      // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.ORMap)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     * @return Whether the keys field is set.
     */
    boolean hasKeys();
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     * @return The keys.
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getKeys();
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getKeysOrBuilder();

    /**
     * <code>repeated .akka.cluster.ddata.ORMap.Entry entries = 2;</code>
     */
    java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry> 
        getEntriesList();
    /**
     * <code>repeated .akka.cluster.ddata.ORMap.Entry entries = 2;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry getEntries(int index);
    /**
     * <code>repeated .akka.cluster.ddata.ORMap.Entry entries = 2;</code>
     */
    int getEntriesCount();
    /**
     * <code>repeated .akka.cluster.ddata.ORMap.Entry entries = 2;</code>
     */
    java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.EntryOrBuilder> 
        getEntriesOrBuilderList();
    /**
     * <code>repeated .akka.cluster.ddata.ORMap.Entry entries = 2;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.EntryOrBuilder getEntriesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code akka.cluster.ddata.ORMap}
   */
  public  static final class ORMap extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:akka.cluster.ddata.ORMap)
      ORMapOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ORMap.newBuilder() to construct.
    private ORMap(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ORMap() {
      entries_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new ORMap();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ORMap(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = keys_.toBuilder();
              }
              keys_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(keys_);
                keys_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                entries_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry>();
                mutable_bitField0_ |= 0x00000002;
              }
              entries_.add(
                  input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry.PARSER, extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) != 0)) {
          entries_ = java.util.Collections.unmodifiableList(entries_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMap_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMap_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Builder.class);
    }

    public interface EntryOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.ORMap.Entry)
        akka.protobufv3.internal.MessageOrBuilder {

      /**
       * <code>optional string stringKey = 1;</code>
       * @return Whether the stringKey field is set.
       */
      boolean hasStringKey();
      /**
       * <code>optional string stringKey = 1;</code>
       * @return The stringKey.
       */
      java.lang.String getStringKey();
      /**
       * <code>optional string stringKey = 1;</code>
       * @return The bytes for stringKey.
       */
      akka.protobufv3.internal.ByteString
          getStringKeyBytes();

      /**
       * <code>required .akka.cluster.ddata.OtherMessage value = 2;</code>
       * @return Whether the value field is set.
       */
      boolean hasValue();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage value = 2;</code>
       * @return The value.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getValue();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage value = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getValueOrBuilder();

      /**
       * <code>optional sint32 intKey = 3;</code>
       * @return Whether the intKey field is set.
       */
      boolean hasIntKey();
      /**
       * <code>optional sint32 intKey = 3;</code>
       * @return The intKey.
       */
      int getIntKey();

      /**
       * <code>optional sint64 longKey = 4;</code>
       * @return Whether the longKey field is set.
       */
      boolean hasLongKey();
      /**
       * <code>optional sint64 longKey = 4;</code>
       * @return The longKey.
       */
      long getLongKey();

      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       * @return Whether the otherKey field is set.
       */
      boolean hasOtherKey();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       * @return The otherKey.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherKeyOrBuilder();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.ORMap.Entry}
     */
    public  static final class Entry extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.ORMap.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() {
        stringKey_ = "";
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Entry();
      }

      @java.lang.Override
      public final akka.protobufv3.internal.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Entry(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
            akka.protobufv3.internal.UnknownFieldSet.newBuilder();
        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();
                bitField0_ |= 0x00000001;
                stringKey_ = bs;
                break;
              }
              case 18: {
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder subBuilder = null;
                if (((bitField0_ & 0x00000002) != 0)) {
                  subBuilder = value_.toBuilder();
                }
                value_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(value_);
                  value_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000002;
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                intKey_ = input.readSInt32();
                break;
              }
              case 32: {
                bitField0_ |= 0x00000008;
                longKey_ = input.readSInt64();
                break;
              }
              case 42: {
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder subBuilder = null;
                if (((bitField0_ & 0x00000010) != 0)) {
                  subBuilder = otherKey_.toBuilder();
                }
                otherKey_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(otherKey_);
                  otherKey_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000010;
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobufv3.internal.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMap_Entry_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMap_Entry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry.Builder.class);
      }

      private int bitField0_;
      public static final int STRINGKEY_FIELD_NUMBER = 1;
      private volatile java.lang.Object stringKey_;
      /**
       * <code>optional string stringKey = 1;</code>
       * @return Whether the stringKey field is set.
       */
      public boolean hasStringKey() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>optional string stringKey = 1;</code>
       * @return The stringKey.
       */
      public java.lang.String getStringKey() {
        java.lang.Object ref = stringKey_;
        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()) {
            stringKey_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string stringKey = 1;</code>
       * @return The bytes for stringKey.
       */
      public akka.protobufv3.internal.ByteString
          getStringKeyBytes() {
        java.lang.Object ref = stringKey_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          stringKey_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }

      public static final int VALUE_FIELD_NUMBER = 2;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value_;
      /**
       * <code>required .akka.cluster.ddata.OtherMessage value = 2;</code>
       * @return Whether the value field is set.
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage value = 2;</code>
       * @return The value.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getValue() {
        return value_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : value_;
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage value = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getValueOrBuilder() {
        return value_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : value_;
      }

      public static final int INTKEY_FIELD_NUMBER = 3;
      private int intKey_;
      /**
       * <code>optional sint32 intKey = 3;</code>
       * @return Whether the intKey field is set.
       */
      public boolean hasIntKey() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional sint32 intKey = 3;</code>
       * @return The intKey.
       */
      public int getIntKey() {
        return intKey_;
      }

      public static final int LONGKEY_FIELD_NUMBER = 4;
      private long longKey_;
      /**
       * <code>optional sint64 longKey = 4;</code>
       * @return Whether the longKey field is set.
       */
      public boolean hasLongKey() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>optional sint64 longKey = 4;</code>
       * @return The longKey.
       */
      public long getLongKey() {
        return longKey_;
      }

      public static final int OTHERKEY_FIELD_NUMBER = 5;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage otherKey_;
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       * @return Whether the otherKey field is set.
       */
      public boolean hasOtherKey() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       * @return The otherKey.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey() {
        return otherKey_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : otherKey_;
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherKeyOrBuilder() {
        return otherKey_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : otherKey_;
      }

      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 (!hasValue()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getValue().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (hasOtherKey()) {
          if (!getOtherKey().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, stringKey_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeMessage(2, getValue());
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeSInt32(3, intKey_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          output.writeSInt64(4, longKey_);
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          output.writeMessage(5, getOtherKey());
        }
        unknownFields.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, stringKey_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(2, getValue());
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeSInt32Size(3, intKey_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeSInt64Size(4, longKey_);
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(5, getOtherKey());
        }
        size += unknownFields.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.ReplicatedDataMessages.ORMap.Entry)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry other = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry) obj;

        if (hasStringKey() != other.hasStringKey()) return false;
        if (hasStringKey()) {
          if (!getStringKey()
              .equals(other.getStringKey())) return false;
        }
        if (hasValue() != other.hasValue()) return false;
        if (hasValue()) {
          if (!getValue()
              .equals(other.getValue())) return false;
        }
        if (hasIntKey() != other.hasIntKey()) return false;
        if (hasIntKey()) {
          if (getIntKey()
              != other.getIntKey()) return false;
        }
        if (hasLongKey() != other.hasLongKey()) return false;
        if (hasLongKey()) {
          if (getLongKey()
              != other.getLongKey()) return false;
        }
        if (hasOtherKey() != other.hasOtherKey()) return false;
        if (hasOtherKey()) {
          if (!getOtherKey()
              .equals(other.getOtherKey())) return false;
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasStringKey()) {
          hash = (37 * hash) + STRINGKEY_FIELD_NUMBER;
          hash = (53 * hash) + getStringKey().hashCode();
        }
        if (hasValue()) {
          hash = (37 * hash) + VALUE_FIELD_NUMBER;
          hash = (53 * hash) + getValue().hashCode();
        }
        if (hasIntKey()) {
          hash = (37 * hash) + INTKEY_FIELD_NUMBER;
          hash = (53 * hash) + getIntKey();
        }
        if (hasLongKey()) {
          hash = (37 * hash) + LONGKEY_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getLongKey());
        }
        if (hasOtherKey()) {
          hash = (37 * hash) + OTHERKEY_FIELD_NUMBER;
          hash = (53 * hash) + getOtherKey().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.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.ReplicatedDataMessages.ORMap.Entry parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.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.ReplicatedDataMessages.ORMap.Entry parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.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.ReplicatedDataMessages.ORMap.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.ReplicatedDataMessages.ORMap.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.ReplicatedDataMessages.ORMap.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.ReplicatedDataMessages.ORMap.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.ReplicatedDataMessages.ORMap.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.ReplicatedDataMessages.ORMap.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.ReplicatedDataMessages.ORMap.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.ORMap.Entry}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.ORMap.Entry)
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.EntryOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMap_Entry_descriptor;
        }

        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMap_Entry_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry.Builder.class);
        }

        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.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) {
            getValueFieldBuilder();
            getOtherKeyFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          stringKey_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          if (valueBuilder_ == null) {
            value_ = null;
          } else {
            valueBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          intKey_ = 0;
          bitField0_ = (bitField0_ & ~0x00000004);
          longKey_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000008);
          if (otherKeyBuilder_ == null) {
            otherKey_ = null;
          } else {
            otherKeyBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          return this;
        }

        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMap_Entry_descriptor;
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry.getDefaultInstance();
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry build() {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            to_bitField0_ |= 0x00000001;
          }
          result.stringKey_ = stringKey_;
          if (((from_bitField0_ & 0x00000002) != 0)) {
            if (valueBuilder_ == null) {
              result.value_ = value_;
            } else {
              result.value_ = valueBuilder_.build();
            }
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.intKey_ = intKey_;
            to_bitField0_ |= 0x00000004;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.longKey_ = longKey_;
            to_bitField0_ |= 0x00000008;
          }
          if (((from_bitField0_ & 0x00000010) != 0)) {
            if (otherKeyBuilder_ == null) {
              result.otherKey_ = otherKey_;
            } else {
              result.otherKey_ = otherKeyBuilder_.build();
            }
            to_bitField0_ |= 0x00000010;
          }
          result.bitField0_ = to_bitField0_;
          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.ReplicatedDataMessages.ORMap.Entry) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry.getDefaultInstance()) return this;
          if (other.hasStringKey()) {
            bitField0_ |= 0x00000001;
            stringKey_ = other.stringKey_;
            onChanged();
          }
          if (other.hasValue()) {
            mergeValue(other.getValue());
          }
          if (other.hasIntKey()) {
            setIntKey(other.getIntKey());
          }
          if (other.hasLongKey()) {
            setLongKey(other.getLongKey());
          }
          if (other.hasOtherKey()) {
            mergeOtherKey(other.getOtherKey());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasValue()) {
            return false;
          }
          if (!getValue().isInitialized()) {
            return false;
          }
          if (hasOtherKey()) {
            if (!getOtherKey().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 {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private java.lang.Object stringKey_ = "";
        /**
         * <code>optional string stringKey = 1;</code>
         * @return Whether the stringKey field is set.
         */
        public boolean hasStringKey() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @return The stringKey.
         */
        public java.lang.String getStringKey() {
          java.lang.Object ref = stringKey_;
          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()) {
              stringKey_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @return The bytes for stringKey.
         */
        public akka.protobufv3.internal.ByteString
            getStringKeyBytes() {
          java.lang.Object ref = stringKey_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            stringKey_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @param value The stringKey to set.
         * @return This builder for chaining.
         */
        public Builder setStringKey(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          stringKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearStringKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          stringKey_ = getDefaultInstance().getStringKey();
          onChanged();
          return this;
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @param value The bytes for stringKey to set.
         * @return This builder for chaining.
         */
        public Builder setStringKeyBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          stringKey_ = value;
          onChanged();
          return this;
        }

        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value_;
        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> valueBuilder_;
        /**
         * <code>required .akka.cluster.ddata.OtherMessage value = 2;</code>
         * @return Whether the value field is set.
         */
        public boolean hasValue() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage value = 2;</code>
         * @return The value.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getValue() {
          if (valueBuilder_ == null) {
            return value_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : value_;
          } else {
            return valueBuilder_.getMessage();
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage value = 2;</code>
         */
        public Builder setValue(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (valueBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            value_ = value;
            onChanged();
          } else {
            valueBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage value = 2;</code>
         */
        public Builder setValue(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (valueBuilder_ == null) {
            value_ = builderForValue.build();
            onChanged();
          } else {
            valueBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage value = 2;</code>
         */
        public Builder mergeValue(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (valueBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0) &&
                value_ != null &&
                value_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              value_ =
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.newBuilder(value_).mergeFrom(value).buildPartial();
            } else {
              value_ = value;
            }
            onChanged();
          } else {
            valueBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage value = 2;</code>
         */
        public Builder clearValue() {
          if (valueBuilder_ == null) {
            value_ = null;
            onChanged();
          } else {
            valueBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage value = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getValueBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getValueFieldBuilder().getBuilder();
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage value = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getValueOrBuilder() {
          if (valueBuilder_ != null) {
            return valueBuilder_.getMessageOrBuilder();
          } else {
            return value_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : value_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage value = 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> 
            getValueFieldBuilder() {
          if (valueBuilder_ == null) {
            valueBuilder_ = 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>(
                    getValue(),
                    getParentForChildren(),
                    isClean());
            value_ = null;
          }
          return valueBuilder_;
        }

        private int intKey_ ;
        /**
         * <code>optional sint32 intKey = 3;</code>
         * @return Whether the intKey field is set.
         */
        public boolean hasIntKey() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         * @return The intKey.
         */
        public int getIntKey() {
          return intKey_;
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         * @param value The intKey to set.
         * @return This builder for chaining.
         */
        public Builder setIntKey(int value) {
          bitField0_ |= 0x00000004;
          intKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearIntKey() {
          bitField0_ = (bitField0_ & ~0x00000004);
          intKey_ = 0;
          onChanged();
          return this;
        }

        private long longKey_ ;
        /**
         * <code>optional sint64 longKey = 4;</code>
         * @return Whether the longKey field is set.
         */
        public boolean hasLongKey() {
          return ((bitField0_ & 0x00000008) != 0);
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         * @return The longKey.
         */
        public long getLongKey() {
          return longKey_;
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         * @param value The longKey to set.
         * @return This builder for chaining.
         */
        public Builder setLongKey(long value) {
          bitField0_ |= 0x00000008;
          longKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearLongKey() {
          bitField0_ = (bitField0_ & ~0x00000008);
          longKey_ = 0L;
          onChanged();
          return this;
        }

        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage otherKey_;
        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> otherKeyBuilder_;
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         * @return Whether the otherKey field is set.
         */
        public boolean hasOtherKey() {
          return ((bitField0_ & 0x00000010) != 0);
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         * @return The otherKey.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey() {
          if (otherKeyBuilder_ == null) {
            return otherKey_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : otherKey_;
          } else {
            return otherKeyBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public Builder setOtherKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (otherKeyBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            otherKey_ = value;
            onChanged();
          } else {
            otherKeyBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public Builder setOtherKey(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (otherKeyBuilder_ == null) {
            otherKey_ = builderForValue.build();
            onChanged();
          } else {
            otherKeyBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public Builder mergeOtherKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (otherKeyBuilder_ == null) {
            if (((bitField0_ & 0x00000010) != 0) &&
                otherKey_ != null &&
                otherKey_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              otherKey_ =
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.newBuilder(otherKey_).mergeFrom(value).buildPartial();
            } else {
              otherKey_ = value;
            }
            onChanged();
          } else {
            otherKeyBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public Builder clearOtherKey() {
          if (otherKeyBuilder_ == null) {
            otherKey_ = null;
            onChanged();
          } else {
            otherKeyBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getOtherKeyBuilder() {
          bitField0_ |= 0x00000010;
          onChanged();
          return getOtherKeyFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherKeyOrBuilder() {
          if (otherKeyBuilder_ != null) {
            return otherKeyBuilder_.getMessageOrBuilder();
          } else {
            return otherKey_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : otherKey_;
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</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> 
            getOtherKeyFieldBuilder() {
          if (otherKeyBuilder_ == null) {
            otherKeyBuilder_ = 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>(
                    getOtherKey(),
                    getParentForChildren(),
                    isClean());
            otherKey_ = null;
          }
          return otherKeyBuilder_;
        }
        @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.ORMap.Entry)
      }

      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ORMap.Entry)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry();
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.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 {
          return new Entry(input, extensionRegistry);
        }
      };

      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.ReplicatedDataMessages.ORMap.Entry getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    private int bitField0_;
    public static final int KEYS_FIELD_NUMBER = 1;
    private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet keys_;
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     * @return Whether the keys field is set.
     */
    public boolean hasKeys() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     * @return The keys.
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getKeys() {
      return keys_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : keys_;
    }
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getKeysOrBuilder() {
      return keys_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : keys_;
    }

    public static final int ENTRIES_FIELD_NUMBER = 2;
    private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry> entries_;
    /**
     * <code>repeated .akka.cluster.ddata.ORMap.Entry entries = 2;</code>
     */
    public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry> getEntriesList() {
      return entries_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.ORMap.Entry entries = 2;</code>
     */
    public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.EntryOrBuilder> 
        getEntriesOrBuilderList() {
      return entries_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.ORMap.Entry entries = 2;</code>
     */
    public int getEntriesCount() {
      return entries_.size();
    }
    /**
     * <code>repeated .akka.cluster.ddata.ORMap.Entry entries = 2;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry getEntries(int index) {
      return entries_.get(index);
    }
    /**
     * <code>repeated .akka.cluster.ddata.ORMap.Entry entries = 2;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.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;

      if (!hasKeys()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getKeys().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, getKeys());
      }
      for (int i = 0; i < entries_.size(); i++) {
        output.writeMessage(2, entries_.get(i));
      }
      unknownFields.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, getKeys());
      }
      for (int i = 0; i < entries_.size(); i++) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(2, entries_.get(i));
      }
      size += unknownFields.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.ReplicatedDataMessages.ORMap)) {
        return super.equals(obj);
      }
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap other = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap) obj;

      if (hasKeys() != other.hasKeys()) return false;
      if (hasKeys()) {
        if (!getKeys()
            .equals(other.getKeys())) return false;
      }
      if (!getEntriesList()
          .equals(other.getEntriesList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasKeys()) {
        hash = (37 * hash) + KEYS_FIELD_NUMBER;
        hash = (53 * hash) + getKeys().hashCode();
      }
      if (getEntriesCount() > 0) {
        hash = (37 * hash) + ENTRIES_FIELD_NUMBER;
        hash = (53 * hash) + getEntriesList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap 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.ReplicatedDataMessages.ORMap parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap 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.ReplicatedDataMessages.ORMap parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap 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.ReplicatedDataMessages.ORMap parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap 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.ReplicatedDataMessages.ORMap parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap 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.ReplicatedDataMessages.ORMap 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.ReplicatedDataMessages.ORMap 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.ReplicatedDataMessages.ORMap 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.ORMap}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.ORMap)
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMap_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMap_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Builder.class);
      }

      // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getKeysFieldBuilder();
          getEntriesFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (keysBuilder_ == null) {
          keys_ = null;
        } else {
          keysBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (entriesBuilder_ == null) {
          entries_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          entriesBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMap_descriptor;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap getDefaultInstanceForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.getDefaultInstance();
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap build() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap buildPartial() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (keysBuilder_ == null) {
            result.keys_ = keys_;
          } else {
            result.keys_ = keysBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (entriesBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0)) {
            entries_ = java.util.Collections.unmodifiableList(entries_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.entries_ = entries_;
        } else {
          result.entries_ = entriesBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        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.ReplicatedDataMessages.ORMap) {
          return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap other) {
        if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.getDefaultInstance()) return this;
        if (other.hasKeys()) {
          mergeKeys(other.getKeys());
        }
        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_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasKeys()) {
          return false;
        }
        if (!getKeys().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 {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet keys_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder> keysBuilder_;
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       * @return Whether the keys field is set.
       */
      public boolean hasKeys() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       * @return The keys.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getKeys() {
        if (keysBuilder_ == null) {
          return keys_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : keys_;
        } else {
          return keysBuilder_.getMessage();
        }
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public Builder setKeys(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet value) {
        if (keysBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          keys_ = value;
          onChanged();
        } else {
          keysBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public Builder setKeys(
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder builderForValue) {
        if (keysBuilder_ == null) {
          keys_ = builderForValue.build();
          onChanged();
        } else {
          keysBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public Builder mergeKeys(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet value) {
        if (keysBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              keys_ != null &&
              keys_ != akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance()) {
            keys_ =
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.newBuilder(keys_).mergeFrom(value).buildPartial();
          } else {
            keys_ = value;
          }
          onChanged();
        } else {
          keysBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public Builder clearKeys() {
        if (keysBuilder_ == null) {
          keys_ = null;
          onChanged();
        } else {
          keysBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder getKeysBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getKeysFieldBuilder().getBuilder();
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getKeysOrBuilder() {
        if (keysBuilder_ != null) {
          return keysBuilder_.getMessageOrBuilder();
        } else {
          return keys_ == null ?
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : keys_;
        }
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder> 
          getKeysFieldBuilder() {
        if (keysBuilder_ == null) {
          keysBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder>(
                  getKeys(),
                  getParentForChildren(),
                  isClean());
          keys_ = null;
        }
        return keysBuilder_;
      }

      private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry> entries_ =
        java.util.Collections.emptyList();
      private void ensureEntriesIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          entries_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry>(entries_);
          bitField0_ |= 0x00000002;
         }
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.EntryOrBuilder> entriesBuilder_;

      /**
       * <code>repeated .akka.cluster.ddata.ORMap.Entry entries = 2;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry> getEntriesList() {
        if (entriesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(entries_);
        } else {
          return entriesBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMap.Entry entries = 2;</code>
       */
      public int getEntriesCount() {
        if (entriesBuilder_ == null) {
          return entries_.size();
        } else {
          return entriesBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMap.Entry entries = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry getEntries(int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);
        } else {
          return entriesBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMap.Entry entries = 2;</code>
       */
      public Builder setEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.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.ORMap.Entry entries = 2;</code>
       */
      public Builder setEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.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.ORMap.Entry entries = 2;</code>
       */
      public Builder addEntries(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.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.ORMap.Entry entries = 2;</code>
       */
      public Builder addEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.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.ORMap.Entry entries = 2;</code>
       */
      public Builder addEntries(
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry.Builder builderForValue) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.add(builderForValue.build());
          onChanged();
        } else {
          entriesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMap.Entry entries = 2;</code>
       */
      public Builder addEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.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.ORMap.Entry entries = 2;</code>
       */
      public Builder addAllEntries(
          java.lang.Iterable<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.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.ORMap.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.ORMap.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.ORMap.Entry entries = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry.Builder getEntriesBuilder(
          int index) {
        return getEntriesFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMap.Entry entries = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.EntryOrBuilder getEntriesOrBuilder(
          int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);  } else {
          return entriesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMap.Entry entries = 2;</code>
       */
      public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.EntryOrBuilder> 
           getEntriesOrBuilderList() {
        if (entriesBuilder_ != null) {
          return entriesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(entries_);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMap.Entry entries = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry.Builder addEntriesBuilder() {
        return getEntriesFieldBuilder().addBuilder(
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMap.Entry entries = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry.Builder addEntriesBuilder(
          int index) {
        return getEntriesFieldBuilder().addBuilder(
            index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMap.Entry entries = 2;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry.Builder> 
           getEntriesBuilderList() {
        return getEntriesFieldBuilder().getBuilderList();
      }
      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.EntryOrBuilder> 
          getEntriesFieldBuilder() {
        if (entriesBuilder_ == null) {
          entriesBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.EntryOrBuilder>(
                  entries_,
                  ((bitField0_ & 0x00000002) != 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.ORMap)
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ORMap)
    private static final akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<ORMap>
        PARSER = new akka.protobufv3.internal.AbstractParser<ORMap>() {
      @java.lang.Override
      public ORMap parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new ORMap(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<ORMap> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<ORMap> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ORMapDeltaGroupOrBuilder extends
      // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.ORMapDeltaGroup)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;</code>
     */
    java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry> 
        getEntriesList();
    /**
     * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry getEntries(int index);
    /**
     * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;</code>
     */
    int getEntriesCount();
    /**
     * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;</code>
     */
    java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.EntryOrBuilder> 
        getEntriesOrBuilderList();
    /**
     * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.EntryOrBuilder getEntriesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code akka.cluster.ddata.ORMapDeltaGroup}
   */
  public  static final class ORMapDeltaGroup extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:akka.cluster.ddata.ORMapDeltaGroup)
      ORMapDeltaGroupOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ORMapDeltaGroup.newBuilder() to construct.
    private ORMapDeltaGroup(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ORMapDeltaGroup() {
      entries_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new ORMapDeltaGroup();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ORMapDeltaGroup(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                entries_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry>();
                mutable_bitField0_ |= 0x00000001;
              }
              entries_.add(
                  input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry.PARSER, extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          entries_ = java.util.Collections.unmodifiableList(entries_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Builder.class);
    }

    public interface MapEntryOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.ORMapDeltaGroup.MapEntry)
        akka.protobufv3.internal.MessageOrBuilder {

      /**
       * <code>optional string stringKey = 1;</code>
       * @return Whether the stringKey field is set.
       */
      boolean hasStringKey();
      /**
       * <code>optional string stringKey = 1;</code>
       * @return The stringKey.
       */
      java.lang.String getStringKey();
      /**
       * <code>optional string stringKey = 1;</code>
       * @return The bytes for stringKey.
       */
      akka.protobufv3.internal.ByteString
          getStringKeyBytes();

      /**
       * <code>optional .akka.cluster.ddata.OtherMessage value = 2;</code>
       * @return Whether the value field is set.
       */
      boolean hasValue();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage value = 2;</code>
       * @return The value.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getValue();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage value = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getValueOrBuilder();

      /**
       * <code>optional sint32 intKey = 3;</code>
       * @return Whether the intKey field is set.
       */
      boolean hasIntKey();
      /**
       * <code>optional sint32 intKey = 3;</code>
       * @return The intKey.
       */
      int getIntKey();

      /**
       * <code>optional sint64 longKey = 4;</code>
       * @return Whether the longKey field is set.
       */
      boolean hasLongKey();
      /**
       * <code>optional sint64 longKey = 4;</code>
       * @return The longKey.
       */
      long getLongKey();

      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       * @return Whether the otherKey field is set.
       */
      boolean hasOtherKey();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       * @return The otherKey.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherKeyOrBuilder();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.ORMapDeltaGroup.MapEntry}
     */
    public  static final class MapEntry extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.ORMapDeltaGroup.MapEntry)
        MapEntryOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use MapEntry.newBuilder() to construct.
      private MapEntry(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private MapEntry() {
        stringKey_ = "";
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new MapEntry();
      }

      @java.lang.Override
      public final akka.protobufv3.internal.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private MapEntry(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
            akka.protobufv3.internal.UnknownFieldSet.newBuilder();
        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();
                bitField0_ |= 0x00000001;
                stringKey_ = bs;
                break;
              }
              case 18: {
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder subBuilder = null;
                if (((bitField0_ & 0x00000002) != 0)) {
                  subBuilder = value_.toBuilder();
                }
                value_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(value_);
                  value_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000002;
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                intKey_ = input.readSInt32();
                break;
              }
              case 32: {
                bitField0_ |= 0x00000008;
                longKey_ = input.readSInt64();
                break;
              }
              case 42: {
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder subBuilder = null;
                if (((bitField0_ & 0x00000010) != 0)) {
                  subBuilder = otherKey_.toBuilder();
                }
                otherKey_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(otherKey_);
                  otherKey_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000010;
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobufv3.internal.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_MapEntry_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_MapEntry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry.Builder.class);
      }

      private int bitField0_;
      public static final int STRINGKEY_FIELD_NUMBER = 1;
      private volatile java.lang.Object stringKey_;
      /**
       * <code>optional string stringKey = 1;</code>
       * @return Whether the stringKey field is set.
       */
      public boolean hasStringKey() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>optional string stringKey = 1;</code>
       * @return The stringKey.
       */
      public java.lang.String getStringKey() {
        java.lang.Object ref = stringKey_;
        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()) {
            stringKey_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string stringKey = 1;</code>
       * @return The bytes for stringKey.
       */
      public akka.protobufv3.internal.ByteString
          getStringKeyBytes() {
        java.lang.Object ref = stringKey_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          stringKey_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }

      public static final int VALUE_FIELD_NUMBER = 2;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value_;
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage value = 2;</code>
       * @return Whether the value field is set.
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage value = 2;</code>
       * @return The value.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getValue() {
        return value_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : value_;
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage value = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getValueOrBuilder() {
        return value_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : value_;
      }

      public static final int INTKEY_FIELD_NUMBER = 3;
      private int intKey_;
      /**
       * <code>optional sint32 intKey = 3;</code>
       * @return Whether the intKey field is set.
       */
      public boolean hasIntKey() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional sint32 intKey = 3;</code>
       * @return The intKey.
       */
      public int getIntKey() {
        return intKey_;
      }

      public static final int LONGKEY_FIELD_NUMBER = 4;
      private long longKey_;
      /**
       * <code>optional sint64 longKey = 4;</code>
       * @return Whether the longKey field is set.
       */
      public boolean hasLongKey() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>optional sint64 longKey = 4;</code>
       * @return The longKey.
       */
      public long getLongKey() {
        return longKey_;
      }

      public static final int OTHERKEY_FIELD_NUMBER = 5;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage otherKey_;
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       * @return Whether the otherKey field is set.
       */
      public boolean hasOtherKey() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       * @return The otherKey.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey() {
        return otherKey_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : otherKey_;
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherKeyOrBuilder() {
        return otherKey_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : otherKey_;
      }

      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 (hasValue()) {
          if (!getValue().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasOtherKey()) {
          if (!getOtherKey().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, stringKey_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeMessage(2, getValue());
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeSInt32(3, intKey_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          output.writeSInt64(4, longKey_);
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          output.writeMessage(5, getOtherKey());
        }
        unknownFields.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, stringKey_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(2, getValue());
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeSInt32Size(3, intKey_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeSInt64Size(4, longKey_);
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(5, getOtherKey());
        }
        size += unknownFields.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.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry other = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry) obj;

        if (hasStringKey() != other.hasStringKey()) return false;
        if (hasStringKey()) {
          if (!getStringKey()
              .equals(other.getStringKey())) return false;
        }
        if (hasValue() != other.hasValue()) return false;
        if (hasValue()) {
          if (!getValue()
              .equals(other.getValue())) return false;
        }
        if (hasIntKey() != other.hasIntKey()) return false;
        if (hasIntKey()) {
          if (getIntKey()
              != other.getIntKey()) return false;
        }
        if (hasLongKey() != other.hasLongKey()) return false;
        if (hasLongKey()) {
          if (getLongKey()
              != other.getLongKey()) return false;
        }
        if (hasOtherKey() != other.hasOtherKey()) return false;
        if (hasOtherKey()) {
          if (!getOtherKey()
              .equals(other.getOtherKey())) return false;
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasStringKey()) {
          hash = (37 * hash) + STRINGKEY_FIELD_NUMBER;
          hash = (53 * hash) + getStringKey().hashCode();
        }
        if (hasValue()) {
          hash = (37 * hash) + VALUE_FIELD_NUMBER;
          hash = (53 * hash) + getValue().hashCode();
        }
        if (hasIntKey()) {
          hash = (37 * hash) + INTKEY_FIELD_NUMBER;
          hash = (53 * hash) + getIntKey();
        }
        if (hasLongKey()) {
          hash = (37 * hash) + LONGKEY_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getLongKey());
        }
        if (hasOtherKey()) {
          hash = (37 * hash) + OTHERKEY_FIELD_NUMBER;
          hash = (53 * hash) + getOtherKey().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry 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.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry 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.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry 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.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry 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.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry 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.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry 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.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry 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.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry 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.ORMapDeltaGroup.MapEntry}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.ORMapDeltaGroup.MapEntry)
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntryOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_MapEntry_descriptor;
        }

        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_MapEntry_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry.Builder.class);
        }

        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getValueFieldBuilder();
            getOtherKeyFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          stringKey_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          if (valueBuilder_ == null) {
            value_ = null;
          } else {
            valueBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          intKey_ = 0;
          bitField0_ = (bitField0_ & ~0x00000004);
          longKey_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000008);
          if (otherKeyBuilder_ == null) {
            otherKey_ = null;
          } else {
            otherKeyBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          return this;
        }

        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_MapEntry_descriptor;
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry.getDefaultInstance();
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry build() {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            to_bitField0_ |= 0x00000001;
          }
          result.stringKey_ = stringKey_;
          if (((from_bitField0_ & 0x00000002) != 0)) {
            if (valueBuilder_ == null) {
              result.value_ = value_;
            } else {
              result.value_ = valueBuilder_.build();
            }
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.intKey_ = intKey_;
            to_bitField0_ |= 0x00000004;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.longKey_ = longKey_;
            to_bitField0_ |= 0x00000008;
          }
          if (((from_bitField0_ & 0x00000010) != 0)) {
            if (otherKeyBuilder_ == null) {
              result.otherKey_ = otherKey_;
            } else {
              result.otherKey_ = otherKeyBuilder_.build();
            }
            to_bitField0_ |= 0x00000010;
          }
          result.bitField0_ = to_bitField0_;
          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.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry.getDefaultInstance()) return this;
          if (other.hasStringKey()) {
            bitField0_ |= 0x00000001;
            stringKey_ = other.stringKey_;
            onChanged();
          }
          if (other.hasValue()) {
            mergeValue(other.getValue());
          }
          if (other.hasIntKey()) {
            setIntKey(other.getIntKey());
          }
          if (other.hasLongKey()) {
            setLongKey(other.getLongKey());
          }
          if (other.hasOtherKey()) {
            mergeOtherKey(other.getOtherKey());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          if (hasValue()) {
            if (!getValue().isInitialized()) {
              return false;
            }
          }
          if (hasOtherKey()) {
            if (!getOtherKey().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 {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private java.lang.Object stringKey_ = "";
        /**
         * <code>optional string stringKey = 1;</code>
         * @return Whether the stringKey field is set.
         */
        public boolean hasStringKey() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @return The stringKey.
         */
        public java.lang.String getStringKey() {
          java.lang.Object ref = stringKey_;
          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()) {
              stringKey_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @return The bytes for stringKey.
         */
        public akka.protobufv3.internal.ByteString
            getStringKeyBytes() {
          java.lang.Object ref = stringKey_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            stringKey_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @param value The stringKey to set.
         * @return This builder for chaining.
         */
        public Builder setStringKey(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          stringKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearStringKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          stringKey_ = getDefaultInstance().getStringKey();
          onChanged();
          return this;
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @param value The bytes for stringKey to set.
         * @return This builder for chaining.
         */
        public Builder setStringKeyBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          stringKey_ = value;
          onChanged();
          return this;
        }

        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value_;
        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> valueBuilder_;
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage value = 2;</code>
         * @return Whether the value field is set.
         */
        public boolean hasValue() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage value = 2;</code>
         * @return The value.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getValue() {
          if (valueBuilder_ == null) {
            return value_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : value_;
          } else {
            return valueBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage value = 2;</code>
         */
        public Builder setValue(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (valueBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            value_ = value;
            onChanged();
          } else {
            valueBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage value = 2;</code>
         */
        public Builder setValue(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (valueBuilder_ == null) {
            value_ = builderForValue.build();
            onChanged();
          } else {
            valueBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage value = 2;</code>
         */
        public Builder mergeValue(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (valueBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0) &&
                value_ != null &&
                value_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              value_ =
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.newBuilder(value_).mergeFrom(value).buildPartial();
            } else {
              value_ = value;
            }
            onChanged();
          } else {
            valueBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage value = 2;</code>
         */
        public Builder clearValue() {
          if (valueBuilder_ == null) {
            value_ = null;
            onChanged();
          } else {
            valueBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage value = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getValueBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getValueFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage value = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getValueOrBuilder() {
          if (valueBuilder_ != null) {
            return valueBuilder_.getMessageOrBuilder();
          } else {
            return value_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : value_;
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage value = 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> 
            getValueFieldBuilder() {
          if (valueBuilder_ == null) {
            valueBuilder_ = 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>(
                    getValue(),
                    getParentForChildren(),
                    isClean());
            value_ = null;
          }
          return valueBuilder_;
        }

        private int intKey_ ;
        /**
         * <code>optional sint32 intKey = 3;</code>
         * @return Whether the intKey field is set.
         */
        public boolean hasIntKey() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         * @return The intKey.
         */
        public int getIntKey() {
          return intKey_;
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         * @param value The intKey to set.
         * @return This builder for chaining.
         */
        public Builder setIntKey(int value) {
          bitField0_ |= 0x00000004;
          intKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearIntKey() {
          bitField0_ = (bitField0_ & ~0x00000004);
          intKey_ = 0;
          onChanged();
          return this;
        }

        private long longKey_ ;
        /**
         * <code>optional sint64 longKey = 4;</code>
         * @return Whether the longKey field is set.
         */
        public boolean hasLongKey() {
          return ((bitField0_ & 0x00000008) != 0);
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         * @return The longKey.
         */
        public long getLongKey() {
          return longKey_;
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         * @param value The longKey to set.
         * @return This builder for chaining.
         */
        public Builder setLongKey(long value) {
          bitField0_ |= 0x00000008;
          longKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearLongKey() {
          bitField0_ = (bitField0_ & ~0x00000008);
          longKey_ = 0L;
          onChanged();
          return this;
        }

        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage otherKey_;
        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> otherKeyBuilder_;
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         * @return Whether the otherKey field is set.
         */
        public boolean hasOtherKey() {
          return ((bitField0_ & 0x00000010) != 0);
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         * @return The otherKey.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey() {
          if (otherKeyBuilder_ == null) {
            return otherKey_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : otherKey_;
          } else {
            return otherKeyBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public Builder setOtherKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (otherKeyBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            otherKey_ = value;
            onChanged();
          } else {
            otherKeyBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public Builder setOtherKey(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (otherKeyBuilder_ == null) {
            otherKey_ = builderForValue.build();
            onChanged();
          } else {
            otherKeyBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public Builder mergeOtherKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (otherKeyBuilder_ == null) {
            if (((bitField0_ & 0x00000010) != 0) &&
                otherKey_ != null &&
                otherKey_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              otherKey_ =
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.newBuilder(otherKey_).mergeFrom(value).buildPartial();
            } else {
              otherKey_ = value;
            }
            onChanged();
          } else {
            otherKeyBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public Builder clearOtherKey() {
          if (otherKeyBuilder_ == null) {
            otherKey_ = null;
            onChanged();
          } else {
            otherKeyBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getOtherKeyBuilder() {
          bitField0_ |= 0x00000010;
          onChanged();
          return getOtherKeyFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherKeyOrBuilder() {
          if (otherKeyBuilder_ != null) {
            return otherKeyBuilder_.getMessageOrBuilder();
          } else {
            return otherKey_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : otherKey_;
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</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> 
            getOtherKeyFieldBuilder() {
          if (otherKeyBuilder_ == null) {
            otherKeyBuilder_ = 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>(
                    getOtherKey(),
                    getParentForChildren(),
                    isClean());
            otherKey_ = null;
          }
          return otherKeyBuilder_;
        }
        @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.ORMapDeltaGroup.MapEntry)
      }

      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ORMapDeltaGroup.MapEntry)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry();
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<MapEntry>
          PARSER = new akka.protobufv3.internal.AbstractParser<MapEntry>() {
        @java.lang.Override
        public MapEntry parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          return new MapEntry(input, extensionRegistry);
        }
      };

      public static akka.protobufv3.internal.Parser<MapEntry> parser() {
        return PARSER;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Parser<MapEntry> getParserForType() {
        return PARSER;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface EntryOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.ORMapDeltaGroup.Entry)
        akka.protobufv3.internal.MessageOrBuilder {

      /**
       * <code>required .akka.cluster.ddata.ORMapDeltaOp operation = 1;</code>
       * @return Whether the operation field is set.
       */
      boolean hasOperation();
      /**
       * <code>required .akka.cluster.ddata.ORMapDeltaOp operation = 1;</code>
       * @return The operation.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp getOperation();

      /**
       * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
       * @return Whether the underlying field is set.
       */
      boolean hasUnderlying();
      /**
       * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
       * @return The underlying.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getUnderlying();
      /**
       * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getUnderlyingOrBuilder();

      /**
       * <code>required sint32 zeroTag = 3;</code>
       * @return Whether the zeroTag field is set.
       */
      boolean hasZeroTag();
      /**
       * <code>required sint32 zeroTag = 3;</code>
       * @return The zeroTag.
       */
      int getZeroTag();

      /**
       * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
       */
      java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry> 
          getEntryDataList();
      /**
       * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry getEntryData(int index);
      /**
       * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
       */
      int getEntryDataCount();
      /**
       * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
       */
      java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntryOrBuilder> 
          getEntryDataOrBuilderList();
      /**
       * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntryOrBuilder getEntryDataOrBuilder(
          int index);
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.ORMapDeltaGroup.Entry}
     */
    public  static final class Entry extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.ORMapDeltaGroup.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() {
        operation_ = 0;
        entryData_ = java.util.Collections.emptyList();
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Entry();
      }

      @java.lang.Override
      public final akka.protobufv3.internal.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Entry(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
            akka.protobufv3.internal.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                int rawValue = input.readEnum();
                  @SuppressWarnings("deprecation")
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp value = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp.valueOf(rawValue);
                if (value == null) {
                  unknownFields.mergeVarintField(1, rawValue);
                } else {
                  bitField0_ |= 0x00000001;
                  operation_ = rawValue;
                }
                break;
              }
              case 18: {
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder subBuilder = null;
                if (((bitField0_ & 0x00000002) != 0)) {
                  subBuilder = underlying_.toBuilder();
                }
                underlying_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(underlying_);
                  underlying_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000002;
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                zeroTag_ = input.readSInt32();
                break;
              }
              case 34: {
                if (!((mutable_bitField0_ & 0x00000008) != 0)) {
                  entryData_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry>();
                  mutable_bitField0_ |= 0x00000008;
                }
                entryData_.add(
                    input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry.PARSER, extensionRegistry));
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobufv3.internal.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000008) != 0)) {
            entryData_ = java.util.Collections.unmodifiableList(entryData_);
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_Entry_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_Entry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry.Builder.class);
      }

      private int bitField0_;
      public static final int OPERATION_FIELD_NUMBER = 1;
      private int operation_;
      /**
       * <code>required .akka.cluster.ddata.ORMapDeltaOp operation = 1;</code>
       * @return Whether the operation field is set.
       */
      public boolean hasOperation() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.ORMapDeltaOp operation = 1;</code>
       * @return The operation.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp getOperation() {
        @SuppressWarnings("deprecation")
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp result = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp.valueOf(operation_);
        return result == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp.ORMapPut : result;
      }

      public static final int UNDERLYING_FIELD_NUMBER = 2;
      private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet underlying_;
      /**
       * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
       * @return Whether the underlying field is set.
       */
      public boolean hasUnderlying() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
       * @return The underlying.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getUnderlying() {
        return underlying_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : underlying_;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getUnderlyingOrBuilder() {
        return underlying_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : underlying_;
      }

      public static final int ZEROTAG_FIELD_NUMBER = 3;
      private int zeroTag_;
      /**
       * <code>required sint32 zeroTag = 3;</code>
       * @return Whether the zeroTag field is set.
       */
      public boolean hasZeroTag() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required sint32 zeroTag = 3;</code>
       * @return The zeroTag.
       */
      public int getZeroTag() {
        return zeroTag_;
      }

      public static final int ENTRYDATA_FIELD_NUMBER = 4;
      private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry> entryData_;
      /**
       * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry> getEntryDataList() {
        return entryData_;
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
       */
      public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntryOrBuilder> 
          getEntryDataOrBuilderList() {
        return entryData_;
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
       */
      public int getEntryDataCount() {
        return entryData_.size();
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry getEntryData(int index) {
        return entryData_.get(index);
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntryOrBuilder getEntryDataOrBuilder(
          int index) {
        return entryData_.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 (!hasOperation()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasUnderlying()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasZeroTag()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getUnderlying().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        for (int i = 0; i < getEntryDataCount(); i++) {
          if (!getEntryData(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.writeEnum(1, operation_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeMessage(2, getUnderlying());
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeSInt32(3, zeroTag_);
        }
        for (int i = 0; i < entryData_.size(); i++) {
          output.writeMessage(4, entryData_.get(i));
        }
        unknownFields.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
            .computeEnumSize(1, operation_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(2, getUnderlying());
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeSInt32Size(3, zeroTag_);
        }
        for (int i = 0; i < entryData_.size(); i++) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(4, entryData_.get(i));
        }
        size += unknownFields.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.ReplicatedDataMessages.ORMapDeltaGroup.Entry)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry other = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry) obj;

        if (hasOperation() != other.hasOperation()) return false;
        if (hasOperation()) {
          if (operation_ != other.operation_) return false;
        }
        if (hasUnderlying() != other.hasUnderlying()) return false;
        if (hasUnderlying()) {
          if (!getUnderlying()
              .equals(other.getUnderlying())) return false;
        }
        if (hasZeroTag() != other.hasZeroTag()) return false;
        if (hasZeroTag()) {
          if (getZeroTag()
              != other.getZeroTag()) return false;
        }
        if (!getEntryDataList()
            .equals(other.getEntryDataList())) return false;
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasOperation()) {
          hash = (37 * hash) + OPERATION_FIELD_NUMBER;
          hash = (53 * hash) + operation_;
        }
        if (hasUnderlying()) {
          hash = (37 * hash) + UNDERLYING_FIELD_NUMBER;
          hash = (53 * hash) + getUnderlying().hashCode();
        }
        if (hasZeroTag()) {
          hash = (37 * hash) + ZEROTAG_FIELD_NUMBER;
          hash = (53 * hash) + getZeroTag();
        }
        if (getEntryDataCount() > 0) {
          hash = (37 * hash) + ENTRYDATA_FIELD_NUMBER;
          hash = (53 * hash) + getEntryDataList().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.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.ReplicatedDataMessages.ORMapDeltaGroup.Entry parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.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.ReplicatedDataMessages.ORMapDeltaGroup.Entry parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.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.ReplicatedDataMessages.ORMapDeltaGroup.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.ReplicatedDataMessages.ORMapDeltaGroup.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.ReplicatedDataMessages.ORMapDeltaGroup.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.ReplicatedDataMessages.ORMapDeltaGroup.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.ReplicatedDataMessages.ORMapDeltaGroup.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.ReplicatedDataMessages.ORMapDeltaGroup.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.ReplicatedDataMessages.ORMapDeltaGroup.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.ORMapDeltaGroup.Entry}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.ORMapDeltaGroup.Entry)
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.EntryOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_Entry_descriptor;
        }

        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_Entry_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry.Builder.class);
        }

        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.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) {
            getUnderlyingFieldBuilder();
            getEntryDataFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          operation_ = 0;
          bitField0_ = (bitField0_ & ~0x00000001);
          if (underlyingBuilder_ == null) {
            underlying_ = null;
          } else {
            underlyingBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          zeroTag_ = 0;
          bitField0_ = (bitField0_ & ~0x00000004);
          if (entryDataBuilder_ == null) {
            entryData_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            entryDataBuilder_.clear();
          }
          return this;
        }

        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_Entry_descriptor;
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry.getDefaultInstance();
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry build() {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            to_bitField0_ |= 0x00000001;
          }
          result.operation_ = operation_;
          if (((from_bitField0_ & 0x00000002) != 0)) {
            if (underlyingBuilder_ == null) {
              result.underlying_ = underlying_;
            } else {
              result.underlying_ = underlyingBuilder_.build();
            }
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.zeroTag_ = zeroTag_;
            to_bitField0_ |= 0x00000004;
          }
          if (entryDataBuilder_ == null) {
            if (((bitField0_ & 0x00000008) != 0)) {
              entryData_ = java.util.Collections.unmodifiableList(entryData_);
              bitField0_ = (bitField0_ & ~0x00000008);
            }
            result.entryData_ = entryData_;
          } else {
            result.entryData_ = entryDataBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          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.ReplicatedDataMessages.ORMapDeltaGroup.Entry) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry.getDefaultInstance()) return this;
          if (other.hasOperation()) {
            setOperation(other.getOperation());
          }
          if (other.hasUnderlying()) {
            mergeUnderlying(other.getUnderlying());
          }
          if (other.hasZeroTag()) {
            setZeroTag(other.getZeroTag());
          }
          if (entryDataBuilder_ == null) {
            if (!other.entryData_.isEmpty()) {
              if (entryData_.isEmpty()) {
                entryData_ = other.entryData_;
                bitField0_ = (bitField0_ & ~0x00000008);
              } else {
                ensureEntryDataIsMutable();
                entryData_.addAll(other.entryData_);
              }
              onChanged();
            }
          } else {
            if (!other.entryData_.isEmpty()) {
              if (entryDataBuilder_.isEmpty()) {
                entryDataBuilder_.dispose();
                entryDataBuilder_ = null;
                entryData_ = other.entryData_;
                bitField0_ = (bitField0_ & ~0x00000008);
                entryDataBuilder_ = 
                  akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getEntryDataFieldBuilder() : null;
              } else {
                entryDataBuilder_.addAllMessages(other.entryData_);
              }
            }
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasOperation()) {
            return false;
          }
          if (!hasUnderlying()) {
            return false;
          }
          if (!hasZeroTag()) {
            return false;
          }
          if (!getUnderlying().isInitialized()) {
            return false;
          }
          for (int i = 0; i < getEntryDataCount(); i++) {
            if (!getEntryData(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 {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private int operation_ = 0;
        /**
         * <code>required .akka.cluster.ddata.ORMapDeltaOp operation = 1;</code>
         * @return Whether the operation field is set.
         */
        public boolean hasOperation() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.ORMapDeltaOp operation = 1;</code>
         * @return The operation.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp getOperation() {
          @SuppressWarnings("deprecation")
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp result = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp.valueOf(operation_);
          return result == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp.ORMapPut : result;
        }
        /**
         * <code>required .akka.cluster.ddata.ORMapDeltaOp operation = 1;</code>
         * @param value The operation to set.
         * @return This builder for chaining.
         */
        public Builder setOperation(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000001;
          operation_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.ORMapDeltaOp operation = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearOperation() {
          bitField0_ = (bitField0_ & ~0x00000001);
          operation_ = 0;
          onChanged();
          return this;
        }

        private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet underlying_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder> underlyingBuilder_;
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         * @return Whether the underlying field is set.
         */
        public boolean hasUnderlying() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         * @return The underlying.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getUnderlying() {
          if (underlyingBuilder_ == null) {
            return underlying_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : underlying_;
          } else {
            return underlyingBuilder_.getMessage();
          }
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         */
        public Builder setUnderlying(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet value) {
          if (underlyingBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            underlying_ = value;
            onChanged();
          } else {
            underlyingBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         */
        public Builder setUnderlying(
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder builderForValue) {
          if (underlyingBuilder_ == null) {
            underlying_ = builderForValue.build();
            onChanged();
          } else {
            underlyingBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         */
        public Builder mergeUnderlying(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet value) {
          if (underlyingBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0) &&
                underlying_ != null &&
                underlying_ != akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance()) {
              underlying_ =
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.newBuilder(underlying_).mergeFrom(value).buildPartial();
            } else {
              underlying_ = value;
            }
            onChanged();
          } else {
            underlyingBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         */
        public Builder clearUnderlying() {
          if (underlyingBuilder_ == null) {
            underlying_ = null;
            onChanged();
          } else {
            underlyingBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder getUnderlyingBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getUnderlyingFieldBuilder().getBuilder();
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getUnderlyingOrBuilder() {
          if (underlyingBuilder_ != null) {
            return underlyingBuilder_.getMessageOrBuilder();
          } else {
            return underlying_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : underlying_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder> 
            getUnderlyingFieldBuilder() {
          if (underlyingBuilder_ == null) {
            underlyingBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder>(
                    getUnderlying(),
                    getParentForChildren(),
                    isClean());
            underlying_ = null;
          }
          return underlyingBuilder_;
        }

        private int zeroTag_ ;
        /**
         * <code>required sint32 zeroTag = 3;</code>
         * @return Whether the zeroTag field is set.
         */
        public boolean hasZeroTag() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>required sint32 zeroTag = 3;</code>
         * @return The zeroTag.
         */
        public int getZeroTag() {
          return zeroTag_;
        }
        /**
         * <code>required sint32 zeroTag = 3;</code>
         * @param value The zeroTag to set.
         * @return This builder for chaining.
         */
        public Builder setZeroTag(int value) {
          bitField0_ |= 0x00000004;
          zeroTag_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required sint32 zeroTag = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearZeroTag() {
          bitField0_ = (bitField0_ & ~0x00000004);
          zeroTag_ = 0;
          onChanged();
          return this;
        }

        private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry> entryData_ =
          java.util.Collections.emptyList();
        private void ensureEntryDataIsMutable() {
          if (!((bitField0_ & 0x00000008) != 0)) {
            entryData_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry>(entryData_);
            bitField0_ |= 0x00000008;
           }
        }

        private akka.protobufv3.internal.RepeatedFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntryOrBuilder> entryDataBuilder_;

        /**
         * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
         */
        public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry> getEntryDataList() {
          if (entryDataBuilder_ == null) {
            return java.util.Collections.unmodifiableList(entryData_);
          } else {
            return entryDataBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
         */
        public int getEntryDataCount() {
          if (entryDataBuilder_ == null) {
            return entryData_.size();
          } else {
            return entryDataBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry getEntryData(int index) {
          if (entryDataBuilder_ == null) {
            return entryData_.get(index);
          } else {
            return entryDataBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
         */
        public Builder setEntryData(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry value) {
          if (entryDataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntryDataIsMutable();
            entryData_.set(index, value);
            onChanged();
          } else {
            entryDataBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
         */
        public Builder setEntryData(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry.Builder builderForValue) {
          if (entryDataBuilder_ == null) {
            ensureEntryDataIsMutable();
            entryData_.set(index, builderForValue.build());
            onChanged();
          } else {
            entryDataBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
         */
        public Builder addEntryData(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry value) {
          if (entryDataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntryDataIsMutable();
            entryData_.add(value);
            onChanged();
          } else {
            entryDataBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
         */
        public Builder addEntryData(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry value) {
          if (entryDataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntryDataIsMutable();
            entryData_.add(index, value);
            onChanged();
          } else {
            entryDataBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
         */
        public Builder addEntryData(
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry.Builder builderForValue) {
          if (entryDataBuilder_ == null) {
            ensureEntryDataIsMutable();
            entryData_.add(builderForValue.build());
            onChanged();
          } else {
            entryDataBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
         */
        public Builder addEntryData(
            int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry.Builder builderForValue) {
          if (entryDataBuilder_ == null) {
            ensureEntryDataIsMutable();
            entryData_.add(index, builderForValue.build());
            onChanged();
          } else {
            entryDataBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
         */
        public Builder addAllEntryData(
            java.lang.Iterable<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry> values) {
          if (entryDataBuilder_ == null) {
            ensureEntryDataIsMutable();
            akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
                values, entryData_);
            onChanged();
          } else {
            entryDataBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
         */
        public Builder clearEntryData() {
          if (entryDataBuilder_ == null) {
            entryData_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000008);
            onChanged();
          } else {
            entryDataBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
         */
        public Builder removeEntryData(int index) {
          if (entryDataBuilder_ == null) {
            ensureEntryDataIsMutable();
            entryData_.remove(index);
            onChanged();
          } else {
            entryDataBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry.Builder getEntryDataBuilder(
            int index) {
          return getEntryDataFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntryOrBuilder getEntryDataOrBuilder(
            int index) {
          if (entryDataBuilder_ == null) {
            return entryData_.get(index);  } else {
            return entryDataBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
         */
        public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntryOrBuilder> 
             getEntryDataOrBuilderList() {
          if (entryDataBuilder_ != null) {
            return entryDataBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(entryData_);
          }
        }
        /**
         * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry.Builder addEntryDataBuilder() {
          return getEntryDataFieldBuilder().addBuilder(
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry.getDefaultInstance());
        }
        /**
         * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry.Builder addEntryDataBuilder(
            int index) {
          return getEntryDataFieldBuilder().addBuilder(
              index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry.getDefaultInstance());
        }
        /**
         * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;</code>
         */
        public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry.Builder> 
             getEntryDataBuilderList() {
          return getEntryDataFieldBuilder().getBuilderList();
        }
        private akka.protobufv3.internal.RepeatedFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntryOrBuilder> 
            getEntryDataFieldBuilder() {
          if (entryDataBuilder_ == null) {
            entryDataBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntryOrBuilder>(
                    entryData_,
                    ((bitField0_ & 0x00000008) != 0),
                    getParentForChildren(),
                    isClean());
            entryData_ = null;
          }
          return entryDataBuilder_;
        }
        @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.ORMapDeltaGroup.Entry)
      }

      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ORMapDeltaGroup.Entry)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry();
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.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 {
          return new Entry(input, extensionRegistry);
        }
      };

      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.ReplicatedDataMessages.ORMapDeltaGroup.Entry getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public static final int ENTRIES_FIELD_NUMBER = 1;
    private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry> entries_;
    /**
     * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;</code>
     */
    public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry> getEntriesList() {
      return entries_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;</code>
     */
    public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.EntryOrBuilder> 
        getEntriesOrBuilderList() {
      return entries_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;</code>
     */
    public int getEntriesCount() {
      return entries_.size();
    }
    /**
     * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry getEntries(int index) {
      return entries_.get(index);
    }
    /**
     * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.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));
      }
      unknownFields.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 += unknownFields.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.ReplicatedDataMessages.ORMapDeltaGroup)) {
        return super.equals(obj);
      }
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup other = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup) obj;

      if (!getEntriesList()
          .equals(other.getEntriesList())) return false;
      if (!unknownFields.equals(other.unknownFields)) 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) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup 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.ReplicatedDataMessages.ORMapDeltaGroup parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup 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.ReplicatedDataMessages.ORMapDeltaGroup parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup 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.ReplicatedDataMessages.ORMapDeltaGroup parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup 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.ReplicatedDataMessages.ORMapDeltaGroup parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup 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.ReplicatedDataMessages.ORMapDeltaGroup 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.ReplicatedDataMessages.ORMapDeltaGroup 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.ReplicatedDataMessages.ORMapDeltaGroup 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.ORMapDeltaGroup}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.ORMapDeltaGroup)
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroupOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Builder.class);
      }

      // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getEntriesFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (entriesBuilder_ == null) {
          entries_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          entriesBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_descriptor;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup getDefaultInstanceForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.getDefaultInstance();
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup build() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup buildPartial() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup(this);
        int from_bitField0_ = bitField0_;
        if (entriesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            entries_ = java.util.Collections.unmodifiableList(entries_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.entries_ = entries_;
        } else {
          result.entries_ = entriesBuilder_.build();
        }
        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.ReplicatedDataMessages.ORMapDeltaGroup) {
          return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup other) {
        if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.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.unknownFields);
        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 {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry> entries_ =
        java.util.Collections.emptyList();
      private void ensureEntriesIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          entries_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry>(entries_);
          bitField0_ |= 0x00000001;
         }
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.EntryOrBuilder> entriesBuilder_;

      /**
       * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry> getEntriesList() {
        if (entriesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(entries_);
        } else {
          return entriesBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;</code>
       */
      public int getEntriesCount() {
        if (entriesBuilder_ == null) {
          return entries_.size();
        } else {
          return entriesBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry getEntries(int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);
        } else {
          return entriesBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;</code>
       */
      public Builder setEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.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.ORMapDeltaGroup.Entry entries = 1;</code>
       */
      public Builder setEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.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.ORMapDeltaGroup.Entry entries = 1;</code>
       */
      public Builder addEntries(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.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.ORMapDeltaGroup.Entry entries = 1;</code>
       */
      public Builder addEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.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.ORMapDeltaGroup.Entry entries = 1;</code>
       */
      public Builder addEntries(
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry.Builder builderForValue) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.add(builderForValue.build());
          onChanged();
        } else {
          entriesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;</code>
       */
      public Builder addEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.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.ORMapDeltaGroup.Entry entries = 1;</code>
       */
      public Builder addAllEntries(
          java.lang.Iterable<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.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.ORMapDeltaGroup.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.ORMapDeltaGroup.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.ORMapDeltaGroup.Entry entries = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry.Builder getEntriesBuilder(
          int index) {
        return getEntriesFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.EntryOrBuilder getEntriesOrBuilder(
          int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);  } else {
          return entriesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;</code>
       */
      public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.EntryOrBuilder> 
           getEntriesOrBuilderList() {
        if (entriesBuilder_ != null) {
          return entriesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(entries_);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry.Builder addEntriesBuilder() {
        return getEntriesFieldBuilder().addBuilder(
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry.Builder addEntriesBuilder(
          int index) {
        return getEntriesFieldBuilder().addBuilder(
            index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry.Builder> 
           getEntriesBuilderList() {
        return getEntriesFieldBuilder().getBuilderList();
      }
      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.EntryOrBuilder> 
          getEntriesFieldBuilder() {
        if (entriesBuilder_ == null) {
          entriesBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.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.ORMapDeltaGroup)
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ORMapDeltaGroup)
    private static final akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<ORMapDeltaGroup>
        PARSER = new akka.protobufv3.internal.AbstractParser<ORMapDeltaGroup>() {
      @java.lang.Override
      public ORMapDeltaGroup parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new ORMapDeltaGroup(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<ORMapDeltaGroup> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<ORMapDeltaGroup> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface LWWMapOrBuilder extends
      // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.LWWMap)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     * @return Whether the keys field is set.
     */
    boolean hasKeys();
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     * @return The keys.
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getKeys();
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getKeysOrBuilder();

    /**
     * <code>repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;</code>
     */
    java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry> 
        getEntriesList();
    /**
     * <code>repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry getEntries(int index);
    /**
     * <code>repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;</code>
     */
    int getEntriesCount();
    /**
     * <code>repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;</code>
     */
    java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.EntryOrBuilder> 
        getEntriesOrBuilderList();
    /**
     * <code>repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.EntryOrBuilder getEntriesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code akka.cluster.ddata.LWWMap}
   */
  public  static final class LWWMap extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:akka.cluster.ddata.LWWMap)
      LWWMapOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use LWWMap.newBuilder() to construct.
    private LWWMap(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private LWWMap() {
      entries_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new LWWMap();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private LWWMap(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = keys_.toBuilder();
              }
              keys_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(keys_);
                keys_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                entries_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry>();
                mutable_bitField0_ |= 0x00000002;
              }
              entries_.add(
                  input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry.PARSER, extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) != 0)) {
          entries_ = java.util.Collections.unmodifiableList(entries_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWMap_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWMap_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Builder.class);
    }

    public interface EntryOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.LWWMap.Entry)
        akka.protobufv3.internal.MessageOrBuilder {

      /**
       * <code>optional string stringKey = 1;</code>
       * @return Whether the stringKey field is set.
       */
      boolean hasStringKey();
      /**
       * <code>optional string stringKey = 1;</code>
       * @return The stringKey.
       */
      java.lang.String getStringKey();
      /**
       * <code>optional string stringKey = 1;</code>
       * @return The bytes for stringKey.
       */
      akka.protobufv3.internal.ByteString
          getStringKeyBytes();

      /**
       * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
       * @return Whether the value field is set.
       */
      boolean hasValue();
      /**
       * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
       * @return The value.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister getValue();
      /**
       * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegisterOrBuilder getValueOrBuilder();

      /**
       * <code>optional sint32 intKey = 3;</code>
       * @return Whether the intKey field is set.
       */
      boolean hasIntKey();
      /**
       * <code>optional sint32 intKey = 3;</code>
       * @return The intKey.
       */
      int getIntKey();

      /**
       * <code>optional sint64 longKey = 4;</code>
       * @return Whether the longKey field is set.
       */
      boolean hasLongKey();
      /**
       * <code>optional sint64 longKey = 4;</code>
       * @return The longKey.
       */
      long getLongKey();

      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       * @return Whether the otherKey field is set.
       */
      boolean hasOtherKey();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       * @return The otherKey.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherKeyOrBuilder();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.LWWMap.Entry}
     */
    public  static final class Entry extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.LWWMap.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() {
        stringKey_ = "";
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Entry();
      }

      @java.lang.Override
      public final akka.protobufv3.internal.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Entry(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
            akka.protobufv3.internal.UnknownFieldSet.newBuilder();
        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();
                bitField0_ |= 0x00000001;
                stringKey_ = bs;
                break;
              }
              case 18: {
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.Builder subBuilder = null;
                if (((bitField0_ & 0x00000002) != 0)) {
                  subBuilder = value_.toBuilder();
                }
                value_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(value_);
                  value_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000002;
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                intKey_ = input.readSInt32();
                break;
              }
              case 32: {
                bitField0_ |= 0x00000008;
                longKey_ = input.readSInt64();
                break;
              }
              case 42: {
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder subBuilder = null;
                if (((bitField0_ & 0x00000010) != 0)) {
                  subBuilder = otherKey_.toBuilder();
                }
                otherKey_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(otherKey_);
                  otherKey_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000010;
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobufv3.internal.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWMap_Entry_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWMap_Entry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry.Builder.class);
      }

      private int bitField0_;
      public static final int STRINGKEY_FIELD_NUMBER = 1;
      private volatile java.lang.Object stringKey_;
      /**
       * <code>optional string stringKey = 1;</code>
       * @return Whether the stringKey field is set.
       */
      public boolean hasStringKey() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>optional string stringKey = 1;</code>
       * @return The stringKey.
       */
      public java.lang.String getStringKey() {
        java.lang.Object ref = stringKey_;
        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()) {
            stringKey_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string stringKey = 1;</code>
       * @return The bytes for stringKey.
       */
      public akka.protobufv3.internal.ByteString
          getStringKeyBytes() {
        java.lang.Object ref = stringKey_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          stringKey_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }

      public static final int VALUE_FIELD_NUMBER = 2;
      private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister value_;
      /**
       * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
       * @return Whether the value field is set.
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
       * @return The value.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister getValue() {
        return value_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.getDefaultInstance() : value_;
      }
      /**
       * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegisterOrBuilder getValueOrBuilder() {
        return value_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.getDefaultInstance() : value_;
      }

      public static final int INTKEY_FIELD_NUMBER = 3;
      private int intKey_;
      /**
       * <code>optional sint32 intKey = 3;</code>
       * @return Whether the intKey field is set.
       */
      public boolean hasIntKey() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional sint32 intKey = 3;</code>
       * @return The intKey.
       */
      public int getIntKey() {
        return intKey_;
      }

      public static final int LONGKEY_FIELD_NUMBER = 4;
      private long longKey_;
      /**
       * <code>optional sint64 longKey = 4;</code>
       * @return Whether the longKey field is set.
       */
      public boolean hasLongKey() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>optional sint64 longKey = 4;</code>
       * @return The longKey.
       */
      public long getLongKey() {
        return longKey_;
      }

      public static final int OTHERKEY_FIELD_NUMBER = 5;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage otherKey_;
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       * @return Whether the otherKey field is set.
       */
      public boolean hasOtherKey() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       * @return The otherKey.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey() {
        return otherKey_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : otherKey_;
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherKeyOrBuilder() {
        return otherKey_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : otherKey_;
      }

      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 (!hasValue()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getValue().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (hasOtherKey()) {
          if (!getOtherKey().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, stringKey_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeMessage(2, getValue());
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeSInt32(3, intKey_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          output.writeSInt64(4, longKey_);
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          output.writeMessage(5, getOtherKey());
        }
        unknownFields.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, stringKey_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(2, getValue());
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeSInt32Size(3, intKey_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeSInt64Size(4, longKey_);
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(5, getOtherKey());
        }
        size += unknownFields.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.ReplicatedDataMessages.LWWMap.Entry)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry other = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry) obj;

        if (hasStringKey() != other.hasStringKey()) return false;
        if (hasStringKey()) {
          if (!getStringKey()
              .equals(other.getStringKey())) return false;
        }
        if (hasValue() != other.hasValue()) return false;
        if (hasValue()) {
          if (!getValue()
              .equals(other.getValue())) return false;
        }
        if (hasIntKey() != other.hasIntKey()) return false;
        if (hasIntKey()) {
          if (getIntKey()
              != other.getIntKey()) return false;
        }
        if (hasLongKey() != other.hasLongKey()) return false;
        if (hasLongKey()) {
          if (getLongKey()
              != other.getLongKey()) return false;
        }
        if (hasOtherKey() != other.hasOtherKey()) return false;
        if (hasOtherKey()) {
          if (!getOtherKey()
              .equals(other.getOtherKey())) return false;
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasStringKey()) {
          hash = (37 * hash) + STRINGKEY_FIELD_NUMBER;
          hash = (53 * hash) + getStringKey().hashCode();
        }
        if (hasValue()) {
          hash = (37 * hash) + VALUE_FIELD_NUMBER;
          hash = (53 * hash) + getValue().hashCode();
        }
        if (hasIntKey()) {
          hash = (37 * hash) + INTKEY_FIELD_NUMBER;
          hash = (53 * hash) + getIntKey();
        }
        if (hasLongKey()) {
          hash = (37 * hash) + LONGKEY_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getLongKey());
        }
        if (hasOtherKey()) {
          hash = (37 * hash) + OTHERKEY_FIELD_NUMBER;
          hash = (53 * hash) + getOtherKey().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.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.ReplicatedDataMessages.LWWMap.Entry parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.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.ReplicatedDataMessages.LWWMap.Entry parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.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.ReplicatedDataMessages.LWWMap.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.ReplicatedDataMessages.LWWMap.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.ReplicatedDataMessages.LWWMap.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.ReplicatedDataMessages.LWWMap.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.ReplicatedDataMessages.LWWMap.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.ReplicatedDataMessages.LWWMap.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.ReplicatedDataMessages.LWWMap.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.LWWMap.Entry}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.LWWMap.Entry)
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.EntryOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWMap_Entry_descriptor;
        }

        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWMap_Entry_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry.Builder.class);
        }

        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.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) {
            getValueFieldBuilder();
            getOtherKeyFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          stringKey_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          if (valueBuilder_ == null) {
            value_ = null;
          } else {
            valueBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          intKey_ = 0;
          bitField0_ = (bitField0_ & ~0x00000004);
          longKey_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000008);
          if (otherKeyBuilder_ == null) {
            otherKey_ = null;
          } else {
            otherKeyBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          return this;
        }

        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWMap_Entry_descriptor;
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry.getDefaultInstance();
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry build() {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            to_bitField0_ |= 0x00000001;
          }
          result.stringKey_ = stringKey_;
          if (((from_bitField0_ & 0x00000002) != 0)) {
            if (valueBuilder_ == null) {
              result.value_ = value_;
            } else {
              result.value_ = valueBuilder_.build();
            }
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.intKey_ = intKey_;
            to_bitField0_ |= 0x00000004;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.longKey_ = longKey_;
            to_bitField0_ |= 0x00000008;
          }
          if (((from_bitField0_ & 0x00000010) != 0)) {
            if (otherKeyBuilder_ == null) {
              result.otherKey_ = otherKey_;
            } else {
              result.otherKey_ = otherKeyBuilder_.build();
            }
            to_bitField0_ |= 0x00000010;
          }
          result.bitField0_ = to_bitField0_;
          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.ReplicatedDataMessages.LWWMap.Entry) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry.getDefaultInstance()) return this;
          if (other.hasStringKey()) {
            bitField0_ |= 0x00000001;
            stringKey_ = other.stringKey_;
            onChanged();
          }
          if (other.hasValue()) {
            mergeValue(other.getValue());
          }
          if (other.hasIntKey()) {
            setIntKey(other.getIntKey());
          }
          if (other.hasLongKey()) {
            setLongKey(other.getLongKey());
          }
          if (other.hasOtherKey()) {
            mergeOtherKey(other.getOtherKey());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasValue()) {
            return false;
          }
          if (!getValue().isInitialized()) {
            return false;
          }
          if (hasOtherKey()) {
            if (!getOtherKey().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 {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private java.lang.Object stringKey_ = "";
        /**
         * <code>optional string stringKey = 1;</code>
         * @return Whether the stringKey field is set.
         */
        public boolean hasStringKey() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @return The stringKey.
         */
        public java.lang.String getStringKey() {
          java.lang.Object ref = stringKey_;
          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()) {
              stringKey_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @return The bytes for stringKey.
         */
        public akka.protobufv3.internal.ByteString
            getStringKeyBytes() {
          java.lang.Object ref = stringKey_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            stringKey_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @param value The stringKey to set.
         * @return This builder for chaining.
         */
        public Builder setStringKey(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          stringKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearStringKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          stringKey_ = getDefaultInstance().getStringKey();
          onChanged();
          return this;
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @param value The bytes for stringKey to set.
         * @return This builder for chaining.
         */
        public Builder setStringKeyBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          stringKey_ = value;
          onChanged();
          return this;
        }

        private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister value_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegisterOrBuilder> valueBuilder_;
        /**
         * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
         * @return Whether the value field is set.
         */
        public boolean hasValue() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
         * @return The value.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister getValue() {
          if (valueBuilder_ == null) {
            return value_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.getDefaultInstance() : value_;
          } else {
            return valueBuilder_.getMessage();
          }
        }
        /**
         * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
         */
        public Builder setValue(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister value) {
          if (valueBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            value_ = value;
            onChanged();
          } else {
            valueBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
         */
        public Builder setValue(
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.Builder builderForValue) {
          if (valueBuilder_ == null) {
            value_ = builderForValue.build();
            onChanged();
          } else {
            valueBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
         */
        public Builder mergeValue(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister value) {
          if (valueBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0) &&
                value_ != null &&
                value_ != akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.getDefaultInstance()) {
              value_ =
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.newBuilder(value_).mergeFrom(value).buildPartial();
            } else {
              value_ = value;
            }
            onChanged();
          } else {
            valueBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
         */
        public Builder clearValue() {
          if (valueBuilder_ == null) {
            value_ = null;
            onChanged();
          } else {
            valueBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.Builder getValueBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getValueFieldBuilder().getBuilder();
        }
        /**
         * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegisterOrBuilder getValueOrBuilder() {
          if (valueBuilder_ != null) {
            return valueBuilder_.getMessageOrBuilder();
          } else {
            return value_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.getDefaultInstance() : value_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegisterOrBuilder> 
            getValueFieldBuilder() {
          if (valueBuilder_ == null) {
            valueBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegisterOrBuilder>(
                    getValue(),
                    getParentForChildren(),
                    isClean());
            value_ = null;
          }
          return valueBuilder_;
        }

        private int intKey_ ;
        /**
         * <code>optional sint32 intKey = 3;</code>
         * @return Whether the intKey field is set.
         */
        public boolean hasIntKey() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         * @return The intKey.
         */
        public int getIntKey() {
          return intKey_;
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         * @param value The intKey to set.
         * @return This builder for chaining.
         */
        public Builder setIntKey(int value) {
          bitField0_ |= 0x00000004;
          intKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearIntKey() {
          bitField0_ = (bitField0_ & ~0x00000004);
          intKey_ = 0;
          onChanged();
          return this;
        }

        private long longKey_ ;
        /**
         * <code>optional sint64 longKey = 4;</code>
         * @return Whether the longKey field is set.
         */
        public boolean hasLongKey() {
          return ((bitField0_ & 0x00000008) != 0);
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         * @return The longKey.
         */
        public long getLongKey() {
          return longKey_;
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         * @param value The longKey to set.
         * @return This builder for chaining.
         */
        public Builder setLongKey(long value) {
          bitField0_ |= 0x00000008;
          longKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearLongKey() {
          bitField0_ = (bitField0_ & ~0x00000008);
          longKey_ = 0L;
          onChanged();
          return this;
        }

        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage otherKey_;
        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> otherKeyBuilder_;
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         * @return Whether the otherKey field is set.
         */
        public boolean hasOtherKey() {
          return ((bitField0_ & 0x00000010) != 0);
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         * @return The otherKey.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey() {
          if (otherKeyBuilder_ == null) {
            return otherKey_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : otherKey_;
          } else {
            return otherKeyBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public Builder setOtherKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (otherKeyBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            otherKey_ = value;
            onChanged();
          } else {
            otherKeyBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public Builder setOtherKey(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (otherKeyBuilder_ == null) {
            otherKey_ = builderForValue.build();
            onChanged();
          } else {
            otherKeyBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public Builder mergeOtherKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (otherKeyBuilder_ == null) {
            if (((bitField0_ & 0x00000010) != 0) &&
                otherKey_ != null &&
                otherKey_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              otherKey_ =
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.newBuilder(otherKey_).mergeFrom(value).buildPartial();
            } else {
              otherKey_ = value;
            }
            onChanged();
          } else {
            otherKeyBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public Builder clearOtherKey() {
          if (otherKeyBuilder_ == null) {
            otherKey_ = null;
            onChanged();
          } else {
            otherKeyBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getOtherKeyBuilder() {
          bitField0_ |= 0x00000010;
          onChanged();
          return getOtherKeyFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherKeyOrBuilder() {
          if (otherKeyBuilder_ != null) {
            return otherKeyBuilder_.getMessageOrBuilder();
          } else {
            return otherKey_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : otherKey_;
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</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> 
            getOtherKeyFieldBuilder() {
          if (otherKeyBuilder_ == null) {
            otherKeyBuilder_ = 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>(
                    getOtherKey(),
                    getParentForChildren(),
                    isClean());
            otherKey_ = null;
          }
          return otherKeyBuilder_;
        }
        @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.LWWMap.Entry)
      }

      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.LWWMap.Entry)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry();
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.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 {
          return new Entry(input, extensionRegistry);
        }
      };

      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.ReplicatedDataMessages.LWWMap.Entry getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    private int bitField0_;
    public static final int KEYS_FIELD_NUMBER = 1;
    private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet keys_;
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     * @return Whether the keys field is set.
     */
    public boolean hasKeys() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     * @return The keys.
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getKeys() {
      return keys_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : keys_;
    }
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getKeysOrBuilder() {
      return keys_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : keys_;
    }

    public static final int ENTRIES_FIELD_NUMBER = 2;
    private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry> entries_;
    /**
     * <code>repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;</code>
     */
    public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry> getEntriesList() {
      return entries_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;</code>
     */
    public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.EntryOrBuilder> 
        getEntriesOrBuilderList() {
      return entries_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;</code>
     */
    public int getEntriesCount() {
      return entries_.size();
    }
    /**
     * <code>repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry getEntries(int index) {
      return entries_.get(index);
    }
    /**
     * <code>repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.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;

      if (!hasKeys()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getKeys().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, getKeys());
      }
      for (int i = 0; i < entries_.size(); i++) {
        output.writeMessage(2, entries_.get(i));
      }
      unknownFields.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, getKeys());
      }
      for (int i = 0; i < entries_.size(); i++) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(2, entries_.get(i));
      }
      size += unknownFields.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.ReplicatedDataMessages.LWWMap)) {
        return super.equals(obj);
      }
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap other = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap) obj;

      if (hasKeys() != other.hasKeys()) return false;
      if (hasKeys()) {
        if (!getKeys()
            .equals(other.getKeys())) return false;
      }
      if (!getEntriesList()
          .equals(other.getEntriesList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasKeys()) {
        hash = (37 * hash) + KEYS_FIELD_NUMBER;
        hash = (53 * hash) + getKeys().hashCode();
      }
      if (getEntriesCount() > 0) {
        hash = (37 * hash) + ENTRIES_FIELD_NUMBER;
        hash = (53 * hash) + getEntriesList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap 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.ReplicatedDataMessages.LWWMap parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap 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.ReplicatedDataMessages.LWWMap parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap 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.ReplicatedDataMessages.LWWMap parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap 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.ReplicatedDataMessages.LWWMap parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap 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.ReplicatedDataMessages.LWWMap 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.ReplicatedDataMessages.LWWMap 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.ReplicatedDataMessages.LWWMap 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.LWWMap}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.LWWMap)
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMapOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWMap_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWMap_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Builder.class);
      }

      // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getKeysFieldBuilder();
          getEntriesFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (keysBuilder_ == null) {
          keys_ = null;
        } else {
          keysBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (entriesBuilder_ == null) {
          entries_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          entriesBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWMap_descriptor;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap getDefaultInstanceForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.getDefaultInstance();
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap build() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap buildPartial() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (keysBuilder_ == null) {
            result.keys_ = keys_;
          } else {
            result.keys_ = keysBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (entriesBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0)) {
            entries_ = java.util.Collections.unmodifiableList(entries_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.entries_ = entries_;
        } else {
          result.entries_ = entriesBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        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.ReplicatedDataMessages.LWWMap) {
          return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap other) {
        if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.getDefaultInstance()) return this;
        if (other.hasKeys()) {
          mergeKeys(other.getKeys());
        }
        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_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasKeys()) {
          return false;
        }
        if (!getKeys().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 {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet keys_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder> keysBuilder_;
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       * @return Whether the keys field is set.
       */
      public boolean hasKeys() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       * @return The keys.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getKeys() {
        if (keysBuilder_ == null) {
          return keys_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : keys_;
        } else {
          return keysBuilder_.getMessage();
        }
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public Builder setKeys(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet value) {
        if (keysBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          keys_ = value;
          onChanged();
        } else {
          keysBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public Builder setKeys(
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder builderForValue) {
        if (keysBuilder_ == null) {
          keys_ = builderForValue.build();
          onChanged();
        } else {
          keysBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public Builder mergeKeys(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet value) {
        if (keysBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              keys_ != null &&
              keys_ != akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance()) {
            keys_ =
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.newBuilder(keys_).mergeFrom(value).buildPartial();
          } else {
            keys_ = value;
          }
          onChanged();
        } else {
          keysBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public Builder clearKeys() {
        if (keysBuilder_ == null) {
          keys_ = null;
          onChanged();
        } else {
          keysBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder getKeysBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getKeysFieldBuilder().getBuilder();
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getKeysOrBuilder() {
        if (keysBuilder_ != null) {
          return keysBuilder_.getMessageOrBuilder();
        } else {
          return keys_ == null ?
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : keys_;
        }
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder> 
          getKeysFieldBuilder() {
        if (keysBuilder_ == null) {
          keysBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder>(
                  getKeys(),
                  getParentForChildren(),
                  isClean());
          keys_ = null;
        }
        return keysBuilder_;
      }

      private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry> entries_ =
        java.util.Collections.emptyList();
      private void ensureEntriesIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          entries_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry>(entries_);
          bitField0_ |= 0x00000002;
         }
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.EntryOrBuilder> entriesBuilder_;

      /**
       * <code>repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry> getEntriesList() {
        if (entriesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(entries_);
        } else {
          return entriesBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;</code>
       */
      public int getEntriesCount() {
        if (entriesBuilder_ == null) {
          return entries_.size();
        } else {
          return entriesBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry getEntries(int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);
        } else {
          return entriesBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;</code>
       */
      public Builder setEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.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.LWWMap.Entry entries = 2;</code>
       */
      public Builder setEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.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.LWWMap.Entry entries = 2;</code>
       */
      public Builder addEntries(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.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.LWWMap.Entry entries = 2;</code>
       */
      public Builder addEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.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.LWWMap.Entry entries = 2;</code>
       */
      public Builder addEntries(
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry.Builder builderForValue) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.add(builderForValue.build());
          onChanged();
        } else {
          entriesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;</code>
       */
      public Builder addEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.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.LWWMap.Entry entries = 2;</code>
       */
      public Builder addAllEntries(
          java.lang.Iterable<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.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.LWWMap.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.LWWMap.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.LWWMap.Entry entries = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry.Builder getEntriesBuilder(
          int index) {
        return getEntriesFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.EntryOrBuilder getEntriesOrBuilder(
          int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);  } else {
          return entriesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;</code>
       */
      public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.EntryOrBuilder> 
           getEntriesOrBuilderList() {
        if (entriesBuilder_ != null) {
          return entriesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(entries_);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry.Builder addEntriesBuilder() {
        return getEntriesFieldBuilder().addBuilder(
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry.Builder addEntriesBuilder(
          int index) {
        return getEntriesFieldBuilder().addBuilder(
            index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry.Builder> 
           getEntriesBuilderList() {
        return getEntriesFieldBuilder().getBuilderList();
      }
      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.EntryOrBuilder> 
          getEntriesFieldBuilder() {
        if (entriesBuilder_ == null) {
          entriesBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.EntryOrBuilder>(
                  entries_,
                  ((bitField0_ & 0x00000002) != 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.LWWMap)
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.LWWMap)
    private static final akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<LWWMap>
        PARSER = new akka.protobufv3.internal.AbstractParser<LWWMap>() {
      @java.lang.Override
      public LWWMap parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new LWWMap(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<LWWMap> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<LWWMap> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PNCounterMapOrBuilder extends
      // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.PNCounterMap)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     * @return Whether the keys field is set.
     */
    boolean hasKeys();
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     * @return The keys.
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getKeys();
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getKeysOrBuilder();

    /**
     * <code>repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;</code>
     */
    java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry> 
        getEntriesList();
    /**
     * <code>repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry getEntries(int index);
    /**
     * <code>repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;</code>
     */
    int getEntriesCount();
    /**
     * <code>repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;</code>
     */
    java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.EntryOrBuilder> 
        getEntriesOrBuilderList();
    /**
     * <code>repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.EntryOrBuilder getEntriesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code akka.cluster.ddata.PNCounterMap}
   */
  public  static final class PNCounterMap extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:akka.cluster.ddata.PNCounterMap)
      PNCounterMapOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PNCounterMap.newBuilder() to construct.
    private PNCounterMap(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PNCounterMap() {
      entries_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new PNCounterMap();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PNCounterMap(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = keys_.toBuilder();
              }
              keys_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(keys_);
                keys_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                entries_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry>();
                mutable_bitField0_ |= 0x00000002;
              }
              entries_.add(
                  input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry.PARSER, extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) != 0)) {
          entries_ = java.util.Collections.unmodifiableList(entries_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounterMap_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounterMap_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Builder.class);
    }

    public interface EntryOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.PNCounterMap.Entry)
        akka.protobufv3.internal.MessageOrBuilder {

      /**
       * <code>optional string stringKey = 1;</code>
       * @return Whether the stringKey field is set.
       */
      boolean hasStringKey();
      /**
       * <code>optional string stringKey = 1;</code>
       * @return The stringKey.
       */
      java.lang.String getStringKey();
      /**
       * <code>optional string stringKey = 1;</code>
       * @return The bytes for stringKey.
       */
      akka.protobufv3.internal.ByteString
          getStringKeyBytes();

      /**
       * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
       * @return Whether the value field is set.
       */
      boolean hasValue();
      /**
       * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
       * @return The value.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter getValue();
      /**
       * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterOrBuilder getValueOrBuilder();

      /**
       * <code>optional sint32 intKey = 3;</code>
       * @return Whether the intKey field is set.
       */
      boolean hasIntKey();
      /**
       * <code>optional sint32 intKey = 3;</code>
       * @return The intKey.
       */
      int getIntKey();

      /**
       * <code>optional sint64 longKey = 4;</code>
       * @return Whether the longKey field is set.
       */
      boolean hasLongKey();
      /**
       * <code>optional sint64 longKey = 4;</code>
       * @return The longKey.
       */
      long getLongKey();

      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       * @return Whether the otherKey field is set.
       */
      boolean hasOtherKey();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       * @return The otherKey.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherKeyOrBuilder();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.PNCounterMap.Entry}
     */
    public  static final class Entry extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.PNCounterMap.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() {
        stringKey_ = "";
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Entry();
      }

      @java.lang.Override
      public final akka.protobufv3.internal.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Entry(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
            akka.protobufv3.internal.UnknownFieldSet.newBuilder();
        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();
                bitField0_ |= 0x00000001;
                stringKey_ = bs;
                break;
              }
              case 18: {
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.Builder subBuilder = null;
                if (((bitField0_ & 0x00000002) != 0)) {
                  subBuilder = value_.toBuilder();
                }
                value_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(value_);
                  value_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000002;
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                intKey_ = input.readSInt32();
                break;
              }
              case 32: {
                bitField0_ |= 0x00000008;
                longKey_ = input.readSInt64();
                break;
              }
              case 42: {
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder subBuilder = null;
                if (((bitField0_ & 0x00000010) != 0)) {
                  subBuilder = otherKey_.toBuilder();
                }
                otherKey_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(otherKey_);
                  otherKey_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000010;
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobufv3.internal.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounterMap_Entry_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounterMap_Entry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry.Builder.class);
      }

      private int bitField0_;
      public static final int STRINGKEY_FIELD_NUMBER = 1;
      private volatile java.lang.Object stringKey_;
      /**
       * <code>optional string stringKey = 1;</code>
       * @return Whether the stringKey field is set.
       */
      public boolean hasStringKey() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>optional string stringKey = 1;</code>
       * @return The stringKey.
       */
      public java.lang.String getStringKey() {
        java.lang.Object ref = stringKey_;
        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()) {
            stringKey_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string stringKey = 1;</code>
       * @return The bytes for stringKey.
       */
      public akka.protobufv3.internal.ByteString
          getStringKeyBytes() {
        java.lang.Object ref = stringKey_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          stringKey_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }

      public static final int VALUE_FIELD_NUMBER = 2;
      private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter value_;
      /**
       * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
       * @return Whether the value field is set.
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
       * @return The value.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter getValue() {
        return value_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.getDefaultInstance() : value_;
      }
      /**
       * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterOrBuilder getValueOrBuilder() {
        return value_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.getDefaultInstance() : value_;
      }

      public static final int INTKEY_FIELD_NUMBER = 3;
      private int intKey_;
      /**
       * <code>optional sint32 intKey = 3;</code>
       * @return Whether the intKey field is set.
       */
      public boolean hasIntKey() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional sint32 intKey = 3;</code>
       * @return The intKey.
       */
      public int getIntKey() {
        return intKey_;
      }

      public static final int LONGKEY_FIELD_NUMBER = 4;
      private long longKey_;
      /**
       * <code>optional sint64 longKey = 4;</code>
       * @return Whether the longKey field is set.
       */
      public boolean hasLongKey() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>optional sint64 longKey = 4;</code>
       * @return The longKey.
       */
      public long getLongKey() {
        return longKey_;
      }

      public static final int OTHERKEY_FIELD_NUMBER = 5;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage otherKey_;
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       * @return Whether the otherKey field is set.
       */
      public boolean hasOtherKey() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       * @return The otherKey.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey() {
        return otherKey_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : otherKey_;
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherKeyOrBuilder() {
        return otherKey_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : otherKey_;
      }

      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 (!hasValue()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getValue().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (hasOtherKey()) {
          if (!getOtherKey().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, stringKey_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeMessage(2, getValue());
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeSInt32(3, intKey_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          output.writeSInt64(4, longKey_);
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          output.writeMessage(5, getOtherKey());
        }
        unknownFields.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, stringKey_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(2, getValue());
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeSInt32Size(3, intKey_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeSInt64Size(4, longKey_);
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(5, getOtherKey());
        }
        size += unknownFields.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.ReplicatedDataMessages.PNCounterMap.Entry)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry other = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry) obj;

        if (hasStringKey() != other.hasStringKey()) return false;
        if (hasStringKey()) {
          if (!getStringKey()
              .equals(other.getStringKey())) return false;
        }
        if (hasValue() != other.hasValue()) return false;
        if (hasValue()) {
          if (!getValue()
              .equals(other.getValue())) return false;
        }
        if (hasIntKey() != other.hasIntKey()) return false;
        if (hasIntKey()) {
          if (getIntKey()
              != other.getIntKey()) return false;
        }
        if (hasLongKey() != other.hasLongKey()) return false;
        if (hasLongKey()) {
          if (getLongKey()
              != other.getLongKey()) return false;
        }
        if (hasOtherKey() != other.hasOtherKey()) return false;
        if (hasOtherKey()) {
          if (!getOtherKey()
              .equals(other.getOtherKey())) return false;
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasStringKey()) {
          hash = (37 * hash) + STRINGKEY_FIELD_NUMBER;
          hash = (53 * hash) + getStringKey().hashCode();
        }
        if (hasValue()) {
          hash = (37 * hash) + VALUE_FIELD_NUMBER;
          hash = (53 * hash) + getValue().hashCode();
        }
        if (hasIntKey()) {
          hash = (37 * hash) + INTKEY_FIELD_NUMBER;
          hash = (53 * hash) + getIntKey();
        }
        if (hasLongKey()) {
          hash = (37 * hash) + LONGKEY_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getLongKey());
        }
        if (hasOtherKey()) {
          hash = (37 * hash) + OTHERKEY_FIELD_NUMBER;
          hash = (53 * hash) + getOtherKey().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.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.ReplicatedDataMessages.PNCounterMap.Entry parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.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.ReplicatedDataMessages.PNCounterMap.Entry parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.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.ReplicatedDataMessages.PNCounterMap.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.ReplicatedDataMessages.PNCounterMap.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.ReplicatedDataMessages.PNCounterMap.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.ReplicatedDataMessages.PNCounterMap.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.ReplicatedDataMessages.PNCounterMap.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.ReplicatedDataMessages.PNCounterMap.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.ReplicatedDataMessages.PNCounterMap.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.PNCounterMap.Entry}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.PNCounterMap.Entry)
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.EntryOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounterMap_Entry_descriptor;
        }

        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounterMap_Entry_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry.Builder.class);
        }

        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.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) {
            getValueFieldBuilder();
            getOtherKeyFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          stringKey_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          if (valueBuilder_ == null) {
            value_ = null;
          } else {
            valueBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          intKey_ = 0;
          bitField0_ = (bitField0_ & ~0x00000004);
          longKey_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000008);
          if (otherKeyBuilder_ == null) {
            otherKey_ = null;
          } else {
            otherKeyBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          return this;
        }

        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounterMap_Entry_descriptor;
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry.getDefaultInstance();
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry build() {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            to_bitField0_ |= 0x00000001;
          }
          result.stringKey_ = stringKey_;
          if (((from_bitField0_ & 0x00000002) != 0)) {
            if (valueBuilder_ == null) {
              result.value_ = value_;
            } else {
              result.value_ = valueBuilder_.build();
            }
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.intKey_ = intKey_;
            to_bitField0_ |= 0x00000004;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.longKey_ = longKey_;
            to_bitField0_ |= 0x00000008;
          }
          if (((from_bitField0_ & 0x00000010) != 0)) {
            if (otherKeyBuilder_ == null) {
              result.otherKey_ = otherKey_;
            } else {
              result.otherKey_ = otherKeyBuilder_.build();
            }
            to_bitField0_ |= 0x00000010;
          }
          result.bitField0_ = to_bitField0_;
          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.ReplicatedDataMessages.PNCounterMap.Entry) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry.getDefaultInstance()) return this;
          if (other.hasStringKey()) {
            bitField0_ |= 0x00000001;
            stringKey_ = other.stringKey_;
            onChanged();
          }
          if (other.hasValue()) {
            mergeValue(other.getValue());
          }
          if (other.hasIntKey()) {
            setIntKey(other.getIntKey());
          }
          if (other.hasLongKey()) {
            setLongKey(other.getLongKey());
          }
          if (other.hasOtherKey()) {
            mergeOtherKey(other.getOtherKey());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasValue()) {
            return false;
          }
          if (!getValue().isInitialized()) {
            return false;
          }
          if (hasOtherKey()) {
            if (!getOtherKey().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 {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private java.lang.Object stringKey_ = "";
        /**
         * <code>optional string stringKey = 1;</code>
         * @return Whether the stringKey field is set.
         */
        public boolean hasStringKey() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @return The stringKey.
         */
        public java.lang.String getStringKey() {
          java.lang.Object ref = stringKey_;
          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()) {
              stringKey_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @return The bytes for stringKey.
         */
        public akka.protobufv3.internal.ByteString
            getStringKeyBytes() {
          java.lang.Object ref = stringKey_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            stringKey_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @param value The stringKey to set.
         * @return This builder for chaining.
         */
        public Builder setStringKey(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          stringKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearStringKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          stringKey_ = getDefaultInstance().getStringKey();
          onChanged();
          return this;
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @param value The bytes for stringKey to set.
         * @return This builder for chaining.
         */
        public Builder setStringKeyBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          stringKey_ = value;
          onChanged();
          return this;
        }

        private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter value_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterOrBuilder> valueBuilder_;
        /**
         * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
         * @return Whether the value field is set.
         */
        public boolean hasValue() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
         * @return The value.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter getValue() {
          if (valueBuilder_ == null) {
            return value_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.getDefaultInstance() : value_;
          } else {
            return valueBuilder_.getMessage();
          }
        }
        /**
         * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
         */
        public Builder setValue(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter value) {
          if (valueBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            value_ = value;
            onChanged();
          } else {
            valueBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
         */
        public Builder setValue(
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.Builder builderForValue) {
          if (valueBuilder_ == null) {
            value_ = builderForValue.build();
            onChanged();
          } else {
            valueBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
         */
        public Builder mergeValue(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter value) {
          if (valueBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0) &&
                value_ != null &&
                value_ != akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.getDefaultInstance()) {
              value_ =
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.newBuilder(value_).mergeFrom(value).buildPartial();
            } else {
              value_ = value;
            }
            onChanged();
          } else {
            valueBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
         */
        public Builder clearValue() {
          if (valueBuilder_ == null) {
            value_ = null;
            onChanged();
          } else {
            valueBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.Builder getValueBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getValueFieldBuilder().getBuilder();
        }
        /**
         * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterOrBuilder getValueOrBuilder() {
          if (valueBuilder_ != null) {
            return valueBuilder_.getMessageOrBuilder();
          } else {
            return value_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.getDefaultInstance() : value_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterOrBuilder> 
            getValueFieldBuilder() {
          if (valueBuilder_ == null) {
            valueBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterOrBuilder>(
                    getValue(),
                    getParentForChildren(),
                    isClean());
            value_ = null;
          }
          return valueBuilder_;
        }

        private int intKey_ ;
        /**
         * <code>optional sint32 intKey = 3;</code>
         * @return Whether the intKey field is set.
         */
        public boolean hasIntKey() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         * @return The intKey.
         */
        public int getIntKey() {
          return intKey_;
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         * @param value The intKey to set.
         * @return This builder for chaining.
         */
        public Builder setIntKey(int value) {
          bitField0_ |= 0x00000004;
          intKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearIntKey() {
          bitField0_ = (bitField0_ & ~0x00000004);
          intKey_ = 0;
          onChanged();
          return this;
        }

        private long longKey_ ;
        /**
         * <code>optional sint64 longKey = 4;</code>
         * @return Whether the longKey field is set.
         */
        public boolean hasLongKey() {
          return ((bitField0_ & 0x00000008) != 0);
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         * @return The longKey.
         */
        public long getLongKey() {
          return longKey_;
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         * @param value The longKey to set.
         * @return This builder for chaining.
         */
        public Builder setLongKey(long value) {
          bitField0_ |= 0x00000008;
          longKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearLongKey() {
          bitField0_ = (bitField0_ & ~0x00000008);
          longKey_ = 0L;
          onChanged();
          return this;
        }

        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage otherKey_;
        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> otherKeyBuilder_;
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         * @return Whether the otherKey field is set.
         */
        public boolean hasOtherKey() {
          return ((bitField0_ & 0x00000010) != 0);
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         * @return The otherKey.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey() {
          if (otherKeyBuilder_ == null) {
            return otherKey_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : otherKey_;
          } else {
            return otherKeyBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public Builder setOtherKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (otherKeyBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            otherKey_ = value;
            onChanged();
          } else {
            otherKeyBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public Builder setOtherKey(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (otherKeyBuilder_ == null) {
            otherKey_ = builderForValue.build();
            onChanged();
          } else {
            otherKeyBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public Builder mergeOtherKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (otherKeyBuilder_ == null) {
            if (((bitField0_ & 0x00000010) != 0) &&
                otherKey_ != null &&
                otherKey_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              otherKey_ =
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.newBuilder(otherKey_).mergeFrom(value).buildPartial();
            } else {
              otherKey_ = value;
            }
            onChanged();
          } else {
            otherKeyBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public Builder clearOtherKey() {
          if (otherKeyBuilder_ == null) {
            otherKey_ = null;
            onChanged();
          } else {
            otherKeyBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getOtherKeyBuilder() {
          bitField0_ |= 0x00000010;
          onChanged();
          return getOtherKeyFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherKeyOrBuilder() {
          if (otherKeyBuilder_ != null) {
            return otherKeyBuilder_.getMessageOrBuilder();
          } else {
            return otherKey_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : otherKey_;
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</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> 
            getOtherKeyFieldBuilder() {
          if (otherKeyBuilder_ == null) {
            otherKeyBuilder_ = 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>(
                    getOtherKey(),
                    getParentForChildren(),
                    isClean());
            otherKey_ = null;
          }
          return otherKeyBuilder_;
        }
        @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.PNCounterMap.Entry)
      }

      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.PNCounterMap.Entry)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry();
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.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 {
          return new Entry(input, extensionRegistry);
        }
      };

      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.ReplicatedDataMessages.PNCounterMap.Entry getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    private int bitField0_;
    public static final int KEYS_FIELD_NUMBER = 1;
    private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet keys_;
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     * @return Whether the keys field is set.
     */
    public boolean hasKeys() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     * @return The keys.
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getKeys() {
      return keys_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : keys_;
    }
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getKeysOrBuilder() {
      return keys_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : keys_;
    }

    public static final int ENTRIES_FIELD_NUMBER = 2;
    private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry> entries_;
    /**
     * <code>repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;</code>
     */
    public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry> getEntriesList() {
      return entries_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;</code>
     */
    public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.EntryOrBuilder> 
        getEntriesOrBuilderList() {
      return entries_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;</code>
     */
    public int getEntriesCount() {
      return entries_.size();
    }
    /**
     * <code>repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry getEntries(int index) {
      return entries_.get(index);
    }
    /**
     * <code>repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.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;

      if (!hasKeys()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getKeys().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, getKeys());
      }
      for (int i = 0; i < entries_.size(); i++) {
        output.writeMessage(2, entries_.get(i));
      }
      unknownFields.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, getKeys());
      }
      for (int i = 0; i < entries_.size(); i++) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(2, entries_.get(i));
      }
      size += unknownFields.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.ReplicatedDataMessages.PNCounterMap)) {
        return super.equals(obj);
      }
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap other = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap) obj;

      if (hasKeys() != other.hasKeys()) return false;
      if (hasKeys()) {
        if (!getKeys()
            .equals(other.getKeys())) return false;
      }
      if (!getEntriesList()
          .equals(other.getEntriesList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasKeys()) {
        hash = (37 * hash) + KEYS_FIELD_NUMBER;
        hash = (53 * hash) + getKeys().hashCode();
      }
      if (getEntriesCount() > 0) {
        hash = (37 * hash) + ENTRIES_FIELD_NUMBER;
        hash = (53 * hash) + getEntriesList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap 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.ReplicatedDataMessages.PNCounterMap parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap 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.ReplicatedDataMessages.PNCounterMap parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap 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.ReplicatedDataMessages.PNCounterMap parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap 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.ReplicatedDataMessages.PNCounterMap parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap 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.ReplicatedDataMessages.PNCounterMap 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.ReplicatedDataMessages.PNCounterMap 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.ReplicatedDataMessages.PNCounterMap 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.PNCounterMap}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.PNCounterMap)
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMapOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounterMap_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounterMap_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Builder.class);
      }

      // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getKeysFieldBuilder();
          getEntriesFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (keysBuilder_ == null) {
          keys_ = null;
        } else {
          keysBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (entriesBuilder_ == null) {
          entries_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          entriesBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounterMap_descriptor;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap getDefaultInstanceForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.getDefaultInstance();
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap build() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap buildPartial() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (keysBuilder_ == null) {
            result.keys_ = keys_;
          } else {
            result.keys_ = keysBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (entriesBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0)) {
            entries_ = java.util.Collections.unmodifiableList(entries_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.entries_ = entries_;
        } else {
          result.entries_ = entriesBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        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.ReplicatedDataMessages.PNCounterMap) {
          return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap other) {
        if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.getDefaultInstance()) return this;
        if (other.hasKeys()) {
          mergeKeys(other.getKeys());
        }
        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_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasKeys()) {
          return false;
        }
        if (!getKeys().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 {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet keys_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder> keysBuilder_;
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       * @return Whether the keys field is set.
       */
      public boolean hasKeys() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       * @return The keys.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getKeys() {
        if (keysBuilder_ == null) {
          return keys_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : keys_;
        } else {
          return keysBuilder_.getMessage();
        }
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public Builder setKeys(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet value) {
        if (keysBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          keys_ = value;
          onChanged();
        } else {
          keysBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public Builder setKeys(
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder builderForValue) {
        if (keysBuilder_ == null) {
          keys_ = builderForValue.build();
          onChanged();
        } else {
          keysBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public Builder mergeKeys(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet value) {
        if (keysBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              keys_ != null &&
              keys_ != akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance()) {
            keys_ =
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.newBuilder(keys_).mergeFrom(value).buildPartial();
          } else {
            keys_ = value;
          }
          onChanged();
        } else {
          keysBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public Builder clearKeys() {
        if (keysBuilder_ == null) {
          keys_ = null;
          onChanged();
        } else {
          keysBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder getKeysBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getKeysFieldBuilder().getBuilder();
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getKeysOrBuilder() {
        if (keysBuilder_ != null) {
          return keysBuilder_.getMessageOrBuilder();
        } else {
          return keys_ == null ?
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : keys_;
        }
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder> 
          getKeysFieldBuilder() {
        if (keysBuilder_ == null) {
          keysBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder>(
                  getKeys(),
                  getParentForChildren(),
                  isClean());
          keys_ = null;
        }
        return keysBuilder_;
      }

      private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry> entries_ =
        java.util.Collections.emptyList();
      private void ensureEntriesIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          entries_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry>(entries_);
          bitField0_ |= 0x00000002;
         }
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.EntryOrBuilder> entriesBuilder_;

      /**
       * <code>repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry> getEntriesList() {
        if (entriesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(entries_);
        } else {
          return entriesBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;</code>
       */
      public int getEntriesCount() {
        if (entriesBuilder_ == null) {
          return entries_.size();
        } else {
          return entriesBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry getEntries(int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);
        } else {
          return entriesBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;</code>
       */
      public Builder setEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.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.PNCounterMap.Entry entries = 2;</code>
       */
      public Builder setEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.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.PNCounterMap.Entry entries = 2;</code>
       */
      public Builder addEntries(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.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.PNCounterMap.Entry entries = 2;</code>
       */
      public Builder addEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.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.PNCounterMap.Entry entries = 2;</code>
       */
      public Builder addEntries(
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry.Builder builderForValue) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.add(builderForValue.build());
          onChanged();
        } else {
          entriesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;</code>
       */
      public Builder addEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.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.PNCounterMap.Entry entries = 2;</code>
       */
      public Builder addAllEntries(
          java.lang.Iterable<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.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.PNCounterMap.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.PNCounterMap.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.PNCounterMap.Entry entries = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry.Builder getEntriesBuilder(
          int index) {
        return getEntriesFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.EntryOrBuilder getEntriesOrBuilder(
          int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);  } else {
          return entriesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;</code>
       */
      public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.EntryOrBuilder> 
           getEntriesOrBuilderList() {
        if (entriesBuilder_ != null) {
          return entriesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(entries_);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry.Builder addEntriesBuilder() {
        return getEntriesFieldBuilder().addBuilder(
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry.Builder addEntriesBuilder(
          int index) {
        return getEntriesFieldBuilder().addBuilder(
            index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry.Builder> 
           getEntriesBuilderList() {
        return getEntriesFieldBuilder().getBuilderList();
      }
      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.EntryOrBuilder> 
          getEntriesFieldBuilder() {
        if (entriesBuilder_ == null) {
          entriesBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.EntryOrBuilder>(
                  entries_,
                  ((bitField0_ & 0x00000002) != 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.PNCounterMap)
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.PNCounterMap)
    private static final akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<PNCounterMap>
        PARSER = new akka.protobufv3.internal.AbstractParser<PNCounterMap>() {
      @java.lang.Override
      public PNCounterMap parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new PNCounterMap(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<PNCounterMap> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<PNCounterMap> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ORMultiMapOrBuilder extends
      // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.ORMultiMap)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     * @return Whether the keys field is set.
     */
    boolean hasKeys();
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     * @return The keys.
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getKeys();
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getKeysOrBuilder();

    /**
     * <code>repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;</code>
     */
    java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry> 
        getEntriesList();
    /**
     * <code>repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry getEntries(int index);
    /**
     * <code>repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;</code>
     */
    int getEntriesCount();
    /**
     * <code>repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;</code>
     */
    java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.EntryOrBuilder> 
        getEntriesOrBuilderList();
    /**
     * <code>repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.EntryOrBuilder getEntriesOrBuilder(
        int index);

    /**
     * <code>optional bool withValueDeltas = 3;</code>
     * @return Whether the withValueDeltas field is set.
     */
    boolean hasWithValueDeltas();
    /**
     * <code>optional bool withValueDeltas = 3;</code>
     * @return The withValueDeltas.
     */
    boolean getWithValueDeltas();
  }
  /**
   * Protobuf type {@code akka.cluster.ddata.ORMultiMap}
   */
  public  static final class ORMultiMap extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:akka.cluster.ddata.ORMultiMap)
      ORMultiMapOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ORMultiMap.newBuilder() to construct.
    private ORMultiMap(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ORMultiMap() {
      entries_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new ORMultiMap();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ORMultiMap(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = keys_.toBuilder();
              }
              keys_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(keys_);
                keys_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                entries_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry>();
                mutable_bitField0_ |= 0x00000002;
              }
              entries_.add(
                  input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry.PARSER, extensionRegistry));
              break;
            }
            case 24: {
              bitField0_ |= 0x00000002;
              withValueDeltas_ = input.readBool();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) != 0)) {
          entries_ = java.util.Collections.unmodifiableList(entries_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMultiMap_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMultiMap_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Builder.class);
    }

    public interface EntryOrBuilder extends
        // @@protoc_insertion_point(interface_extends:akka.cluster.ddata.ORMultiMap.Entry)
        akka.protobufv3.internal.MessageOrBuilder {

      /**
       * <code>optional string stringKey = 1;</code>
       * @return Whether the stringKey field is set.
       */
      boolean hasStringKey();
      /**
       * <code>optional string stringKey = 1;</code>
       * @return The stringKey.
       */
      java.lang.String getStringKey();
      /**
       * <code>optional string stringKey = 1;</code>
       * @return The bytes for stringKey.
       */
      akka.protobufv3.internal.ByteString
          getStringKeyBytes();

      /**
       * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
       * @return Whether the value field is set.
       */
      boolean hasValue();
      /**
       * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
       * @return The value.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getValue();
      /**
       * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getValueOrBuilder();

      /**
       * <code>optional sint32 intKey = 3;</code>
       * @return Whether the intKey field is set.
       */
      boolean hasIntKey();
      /**
       * <code>optional sint32 intKey = 3;</code>
       * @return The intKey.
       */
      int getIntKey();

      /**
       * <code>optional sint64 longKey = 4;</code>
       * @return Whether the longKey field is set.
       */
      boolean hasLongKey();
      /**
       * <code>optional sint64 longKey = 4;</code>
       * @return The longKey.
       */
      long getLongKey();

      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       * @return Whether the otherKey field is set.
       */
      boolean hasOtherKey();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       * @return The otherKey.
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherKeyOrBuilder();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.ORMultiMap.Entry}
     */
    public  static final class Entry extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:akka.cluster.ddata.ORMultiMap.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() {
        stringKey_ = "";
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Entry();
      }

      @java.lang.Override
      public final akka.protobufv3.internal.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Entry(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
            akka.protobufv3.internal.UnknownFieldSet.newBuilder();
        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();
                bitField0_ |= 0x00000001;
                stringKey_ = bs;
                break;
              }
              case 18: {
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder subBuilder = null;
                if (((bitField0_ & 0x00000002) != 0)) {
                  subBuilder = value_.toBuilder();
                }
                value_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(value_);
                  value_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000002;
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                intKey_ = input.readSInt32();
                break;
              }
              case 32: {
                bitField0_ |= 0x00000008;
                longKey_ = input.readSInt64();
                break;
              }
              case 42: {
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder subBuilder = null;
                if (((bitField0_ & 0x00000010) != 0)) {
                  subBuilder = otherKey_.toBuilder();
                }
                otherKey_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(otherKey_);
                  otherKey_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000010;
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobufv3.internal.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMultiMap_Entry_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMultiMap_Entry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry.Builder.class);
      }

      private int bitField0_;
      public static final int STRINGKEY_FIELD_NUMBER = 1;
      private volatile java.lang.Object stringKey_;
      /**
       * <code>optional string stringKey = 1;</code>
       * @return Whether the stringKey field is set.
       */
      public boolean hasStringKey() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>optional string stringKey = 1;</code>
       * @return The stringKey.
       */
      public java.lang.String getStringKey() {
        java.lang.Object ref = stringKey_;
        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()) {
            stringKey_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string stringKey = 1;</code>
       * @return The bytes for stringKey.
       */
      public akka.protobufv3.internal.ByteString
          getStringKeyBytes() {
        java.lang.Object ref = stringKey_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          stringKey_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }

      public static final int VALUE_FIELD_NUMBER = 2;
      private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet value_;
      /**
       * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
       * @return Whether the value field is set.
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
       * @return The value.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getValue() {
        return value_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : value_;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getValueOrBuilder() {
        return value_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : value_;
      }

      public static final int INTKEY_FIELD_NUMBER = 3;
      private int intKey_;
      /**
       * <code>optional sint32 intKey = 3;</code>
       * @return Whether the intKey field is set.
       */
      public boolean hasIntKey() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional sint32 intKey = 3;</code>
       * @return The intKey.
       */
      public int getIntKey() {
        return intKey_;
      }

      public static final int LONGKEY_FIELD_NUMBER = 4;
      private long longKey_;
      /**
       * <code>optional sint64 longKey = 4;</code>
       * @return Whether the longKey field is set.
       */
      public boolean hasLongKey() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>optional sint64 longKey = 4;</code>
       * @return The longKey.
       */
      public long getLongKey() {
        return longKey_;
      }

      public static final int OTHERKEY_FIELD_NUMBER = 5;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage otherKey_;
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       * @return Whether the otherKey field is set.
       */
      public boolean hasOtherKey() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       * @return The otherKey.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey() {
        return otherKey_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : otherKey_;
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherKeyOrBuilder() {
        return otherKey_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : otherKey_;
      }

      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 (!hasValue()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getValue().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (hasOtherKey()) {
          if (!getOtherKey().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, stringKey_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeMessage(2, getValue());
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeSInt32(3, intKey_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          output.writeSInt64(4, longKey_);
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          output.writeMessage(5, getOtherKey());
        }
        unknownFields.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, stringKey_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(2, getValue());
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeSInt32Size(3, intKey_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeSInt64Size(4, longKey_);
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(5, getOtherKey());
        }
        size += unknownFields.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.ReplicatedDataMessages.ORMultiMap.Entry)) {
          return super.equals(obj);
        }
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry other = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry) obj;

        if (hasStringKey() != other.hasStringKey()) return false;
        if (hasStringKey()) {
          if (!getStringKey()
              .equals(other.getStringKey())) return false;
        }
        if (hasValue() != other.hasValue()) return false;
        if (hasValue()) {
          if (!getValue()
              .equals(other.getValue())) return false;
        }
        if (hasIntKey() != other.hasIntKey()) return false;
        if (hasIntKey()) {
          if (getIntKey()
              != other.getIntKey()) return false;
        }
        if (hasLongKey() != other.hasLongKey()) return false;
        if (hasLongKey()) {
          if (getLongKey()
              != other.getLongKey()) return false;
        }
        if (hasOtherKey() != other.hasOtherKey()) return false;
        if (hasOtherKey()) {
          if (!getOtherKey()
              .equals(other.getOtherKey())) return false;
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasStringKey()) {
          hash = (37 * hash) + STRINGKEY_FIELD_NUMBER;
          hash = (53 * hash) + getStringKey().hashCode();
        }
        if (hasValue()) {
          hash = (37 * hash) + VALUE_FIELD_NUMBER;
          hash = (53 * hash) + getValue().hashCode();
        }
        if (hasIntKey()) {
          hash = (37 * hash) + INTKEY_FIELD_NUMBER;
          hash = (53 * hash) + getIntKey();
        }
        if (hasLongKey()) {
          hash = (37 * hash) + LONGKEY_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getLongKey());
        }
        if (hasOtherKey()) {
          hash = (37 * hash) + OTHERKEY_FIELD_NUMBER;
          hash = (53 * hash) + getOtherKey().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.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.ReplicatedDataMessages.ORMultiMap.Entry parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.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.ReplicatedDataMessages.ORMultiMap.Entry parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.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.ReplicatedDataMessages.ORMultiMap.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.ReplicatedDataMessages.ORMultiMap.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.ReplicatedDataMessages.ORMultiMap.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.ReplicatedDataMessages.ORMultiMap.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.ReplicatedDataMessages.ORMultiMap.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.ReplicatedDataMessages.ORMultiMap.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.ReplicatedDataMessages.ORMultiMap.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.ORMultiMap.Entry}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.ORMultiMap.Entry)
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.EntryOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMultiMap_Entry_descriptor;
        }

        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMultiMap_Entry_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry.Builder.class);
        }

        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.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) {
            getValueFieldBuilder();
            getOtherKeyFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          stringKey_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          if (valueBuilder_ == null) {
            value_ = null;
          } else {
            valueBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          intKey_ = 0;
          bitField0_ = (bitField0_ & ~0x00000004);
          longKey_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000008);
          if (otherKeyBuilder_ == null) {
            otherKey_ = null;
          } else {
            otherKeyBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          return this;
        }

        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMultiMap_Entry_descriptor;
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry getDefaultInstanceForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry.getDefaultInstance();
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry build() {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            to_bitField0_ |= 0x00000001;
          }
          result.stringKey_ = stringKey_;
          if (((from_bitField0_ & 0x00000002) != 0)) {
            if (valueBuilder_ == null) {
              result.value_ = value_;
            } else {
              result.value_ = valueBuilder_.build();
            }
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.intKey_ = intKey_;
            to_bitField0_ |= 0x00000004;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.longKey_ = longKey_;
            to_bitField0_ |= 0x00000008;
          }
          if (((from_bitField0_ & 0x00000010) != 0)) {
            if (otherKeyBuilder_ == null) {
              result.otherKey_ = otherKey_;
            } else {
              result.otherKey_ = otherKeyBuilder_.build();
            }
            to_bitField0_ |= 0x00000010;
          }
          result.bitField0_ = to_bitField0_;
          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.ReplicatedDataMessages.ORMultiMap.Entry) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry.getDefaultInstance()) return this;
          if (other.hasStringKey()) {
            bitField0_ |= 0x00000001;
            stringKey_ = other.stringKey_;
            onChanged();
          }
          if (other.hasValue()) {
            mergeValue(other.getValue());
          }
          if (other.hasIntKey()) {
            setIntKey(other.getIntKey());
          }
          if (other.hasLongKey()) {
            setLongKey(other.getLongKey());
          }
          if (other.hasOtherKey()) {
            mergeOtherKey(other.getOtherKey());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasValue()) {
            return false;
          }
          if (!getValue().isInitialized()) {
            return false;
          }
          if (hasOtherKey()) {
            if (!getOtherKey().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 {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private java.lang.Object stringKey_ = "";
        /**
         * <code>optional string stringKey = 1;</code>
         * @return Whether the stringKey field is set.
         */
        public boolean hasStringKey() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @return The stringKey.
         */
        public java.lang.String getStringKey() {
          java.lang.Object ref = stringKey_;
          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()) {
              stringKey_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @return The bytes for stringKey.
         */
        public akka.protobufv3.internal.ByteString
            getStringKeyBytes() {
          java.lang.Object ref = stringKey_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            stringKey_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @param value The stringKey to set.
         * @return This builder for chaining.
         */
        public Builder setStringKey(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          stringKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearStringKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          stringKey_ = getDefaultInstance().getStringKey();
          onChanged();
          return this;
        }
        /**
         * <code>optional string stringKey = 1;</code>
         * @param value The bytes for stringKey to set.
         * @return This builder for chaining.
         */
        public Builder setStringKeyBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          stringKey_ = value;
          onChanged();
          return this;
        }

        private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet value_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder> valueBuilder_;
        /**
         * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
         * @return Whether the value field is set.
         */
        public boolean hasValue() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
         * @return The value.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getValue() {
          if (valueBuilder_ == null) {
            return value_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : value_;
          } else {
            return valueBuilder_.getMessage();
          }
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
         */
        public Builder setValue(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet value) {
          if (valueBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            value_ = value;
            onChanged();
          } else {
            valueBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
         */
        public Builder setValue(
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder builderForValue) {
          if (valueBuilder_ == null) {
            value_ = builderForValue.build();
            onChanged();
          } else {
            valueBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
         */
        public Builder mergeValue(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet value) {
          if (valueBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0) &&
                value_ != null &&
                value_ != akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance()) {
              value_ =
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.newBuilder(value_).mergeFrom(value).buildPartial();
            } else {
              value_ = value;
            }
            onChanged();
          } else {
            valueBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
         */
        public Builder clearValue() {
          if (valueBuilder_ == null) {
            value_ = null;
            onChanged();
          } else {
            valueBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder getValueBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getValueFieldBuilder().getBuilder();
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getValueOrBuilder() {
          if (valueBuilder_ != null) {
            return valueBuilder_.getMessageOrBuilder();
          } else {
            return value_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : value_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder> 
            getValueFieldBuilder() {
          if (valueBuilder_ == null) {
            valueBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder>(
                    getValue(),
                    getParentForChildren(),
                    isClean());
            value_ = null;
          }
          return valueBuilder_;
        }

        private int intKey_ ;
        /**
         * <code>optional sint32 intKey = 3;</code>
         * @return Whether the intKey field is set.
         */
        public boolean hasIntKey() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         * @return The intKey.
         */
        public int getIntKey() {
          return intKey_;
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         * @param value The intKey to set.
         * @return This builder for chaining.
         */
        public Builder setIntKey(int value) {
          bitField0_ |= 0x00000004;
          intKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearIntKey() {
          bitField0_ = (bitField0_ & ~0x00000004);
          intKey_ = 0;
          onChanged();
          return this;
        }

        private long longKey_ ;
        /**
         * <code>optional sint64 longKey = 4;</code>
         * @return Whether the longKey field is set.
         */
        public boolean hasLongKey() {
          return ((bitField0_ & 0x00000008) != 0);
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         * @return The longKey.
         */
        public long getLongKey() {
          return longKey_;
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         * @param value The longKey to set.
         * @return This builder for chaining.
         */
        public Builder setLongKey(long value) {
          bitField0_ |= 0x00000008;
          longKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearLongKey() {
          bitField0_ = (bitField0_ & ~0x00000008);
          longKey_ = 0L;
          onChanged();
          return this;
        }

        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage otherKey_;
        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> otherKeyBuilder_;
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         * @return Whether the otherKey field is set.
         */
        public boolean hasOtherKey() {
          return ((bitField0_ & 0x00000010) != 0);
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         * @return The otherKey.
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey() {
          if (otherKeyBuilder_ == null) {
            return otherKey_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : otherKey_;
          } else {
            return otherKeyBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public Builder setOtherKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (otherKeyBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            otherKey_ = value;
            onChanged();
          } else {
            otherKeyBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public Builder setOtherKey(
            akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder builderForValue) {
          if (otherKeyBuilder_ == null) {
            otherKey_ = builderForValue.build();
            onChanged();
          } else {
            otherKeyBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public Builder mergeOtherKey(akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value) {
          if (otherKeyBuilder_ == null) {
            if (((bitField0_ & 0x00000010) != 0) &&
                otherKey_ != null &&
                otherKey_ != akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance()) {
              otherKey_ =
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.newBuilder(otherKey_).mergeFrom(value).buildPartial();
            } else {
              otherKey_ = value;
            }
            onChanged();
          } else {
            otherKeyBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public Builder clearOtherKey() {
          if (otherKeyBuilder_ == null) {
            otherKey_ = null;
            onChanged();
          } else {
            otherKeyBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          return this;
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder getOtherKeyBuilder() {
          bitField0_ |= 0x00000010;
          onChanged();
          return getOtherKeyFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherKeyOrBuilder() {
          if (otherKeyBuilder_ != null) {
            return otherKeyBuilder_.getMessageOrBuilder();
          } else {
            return otherKey_ == null ?
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance() : otherKey_;
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</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> 
            getOtherKeyFieldBuilder() {
          if (otherKeyBuilder_ == null) {
            otherKeyBuilder_ = 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>(
                    getOtherKey(),
                    getParentForChildren(),
                    isClean());
            otherKey_ = null;
          }
          return otherKeyBuilder_;
        }
        @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.ORMultiMap.Entry)
      }

      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ORMultiMap.Entry)
      private static final akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry();
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.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 {
          return new Entry(input, extensionRegistry);
        }
      };

      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.ReplicatedDataMessages.ORMultiMap.Entry getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    private int bitField0_;
    public static final int KEYS_FIELD_NUMBER = 1;
    private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet keys_;
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     * @return Whether the keys field is set.
     */
    public boolean hasKeys() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     * @return The keys.
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getKeys() {
      return keys_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : keys_;
    }
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getKeysOrBuilder() {
      return keys_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : keys_;
    }

    public static final int ENTRIES_FIELD_NUMBER = 2;
    private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry> entries_;
    /**
     * <code>repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;</code>
     */
    public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry> getEntriesList() {
      return entries_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;</code>
     */
    public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.EntryOrBuilder> 
        getEntriesOrBuilderList() {
      return entries_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;</code>
     */
    public int getEntriesCount() {
      return entries_.size();
    }
    /**
     * <code>repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry getEntries(int index) {
      return entries_.get(index);
    }
    /**
     * <code>repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.EntryOrBuilder getEntriesOrBuilder(
        int index) {
      return entries_.get(index);
    }

    public static final int WITHVALUEDELTAS_FIELD_NUMBER = 3;
    private boolean withValueDeltas_;
    /**
     * <code>optional bool withValueDeltas = 3;</code>
     * @return Whether the withValueDeltas field is set.
     */
    public boolean hasWithValueDeltas() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional bool withValueDeltas = 3;</code>
     * @return The withValueDeltas.
     */
    public boolean getWithValueDeltas() {
      return withValueDeltas_;
    }

    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 (!hasKeys()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getKeys().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, getKeys());
      }
      for (int i = 0; i < entries_.size(); i++) {
        output.writeMessage(2, entries_.get(i));
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeBool(3, withValueDeltas_);
      }
      unknownFields.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, getKeys());
      }
      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, withValueDeltas_);
      }
      size += unknownFields.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.ReplicatedDataMessages.ORMultiMap)) {
        return super.equals(obj);
      }
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap other = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap) obj;

      if (hasKeys() != other.hasKeys()) return false;
      if (hasKeys()) {
        if (!getKeys()
            .equals(other.getKeys())) return false;
      }
      if (!getEntriesList()
          .equals(other.getEntriesList())) return false;
      if (hasWithValueDeltas() != other.hasWithValueDeltas()) return false;
      if (hasWithValueDeltas()) {
        if (getWithValueDeltas()
            != other.getWithValueDeltas()) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasKeys()) {
        hash = (37 * hash) + KEYS_FIELD_NUMBER;
        hash = (53 * hash) + getKeys().hashCode();
      }
      if (getEntriesCount() > 0) {
        hash = (37 * hash) + ENTRIES_FIELD_NUMBER;
        hash = (53 * hash) + getEntriesList().hashCode();
      }
      if (hasWithValueDeltas()) {
        hash = (37 * hash) + WITHVALUEDELTAS_FIELD_NUMBER;
        hash = (53 * hash) + akka.protobufv3.internal.Internal.hashBoolean(
            getWithValueDeltas());
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap 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.ReplicatedDataMessages.ORMultiMap parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap 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.ReplicatedDataMessages.ORMultiMap parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap 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.ReplicatedDataMessages.ORMultiMap parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap 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.ReplicatedDataMessages.ORMultiMap parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap 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.ReplicatedDataMessages.ORMultiMap 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.ReplicatedDataMessages.ORMultiMap 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.ReplicatedDataMessages.ORMultiMap 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.ORMultiMap}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:akka.cluster.ddata.ORMultiMap)
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMapOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMultiMap_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMultiMap_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Builder.class);
      }

      // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getKeysFieldBuilder();
          getEntriesFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (keysBuilder_ == null) {
          keys_ = null;
        } else {
          keysBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (entriesBuilder_ == null) {
          entries_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          entriesBuilder_.clear();
        }
        withValueDeltas_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMultiMap_descriptor;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap getDefaultInstanceForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.getDefaultInstance();
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap build() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap buildPartial() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (keysBuilder_ == null) {
            result.keys_ = keys_;
          } else {
            result.keys_ = keysBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (entriesBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0)) {
            entries_ = java.util.Collections.unmodifiableList(entries_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.entries_ = entries_;
        } else {
          result.entries_ = entriesBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.withValueDeltas_ = withValueDeltas_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ = to_bitField0_;
        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.ReplicatedDataMessages.ORMultiMap) {
          return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap other) {
        if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.getDefaultInstance()) return this;
        if (other.hasKeys()) {
          mergeKeys(other.getKeys());
        }
        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.hasWithValueDeltas()) {
          setWithValueDeltas(other.getWithValueDeltas());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasKeys()) {
          return false;
        }
        if (!getKeys().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 {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet keys_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder> keysBuilder_;
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       * @return Whether the keys field is set.
       */
      public boolean hasKeys() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       * @return The keys.
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getKeys() {
        if (keysBuilder_ == null) {
          return keys_ == null ? akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : keys_;
        } else {
          return keysBuilder_.getMessage();
        }
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public Builder setKeys(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet value) {
        if (keysBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          keys_ = value;
          onChanged();
        } else {
          keysBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public Builder setKeys(
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder builderForValue) {
        if (keysBuilder_ == null) {
          keys_ = builderForValue.build();
          onChanged();
        } else {
          keysBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public Builder mergeKeys(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet value) {
        if (keysBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              keys_ != null &&
              keys_ != akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance()) {
            keys_ =
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.newBuilder(keys_).mergeFrom(value).buildPartial();
          } else {
            keys_ = value;
          }
          onChanged();
        } else {
          keysBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public Builder clearKeys() {
        if (keysBuilder_ == null) {
          keys_ = null;
          onChanged();
        } else {
          keysBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder getKeysBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getKeysFieldBuilder().getBuilder();
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getKeysOrBuilder() {
        if (keysBuilder_ != null) {
          return keysBuilder_.getMessageOrBuilder();
        } else {
          return keys_ == null ?
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance() : keys_;
        }
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder> 
          getKeysFieldBuilder() {
        if (keysBuilder_ == null) {
          keysBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder>(
                  getKeys(),
                  getParentForChildren(),
                  isClean());
          keys_ = null;
        }
        return keysBuilder_;
      }

      private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry> entries_ =
        java.util.Collections.emptyList();
      private void ensureEntriesIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          entries_ = new java.util.ArrayList<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry>(entries_);
          bitField0_ |= 0x00000002;
         }
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.EntryOrBuilder> entriesBuilder_;

      /**
       * <code>repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry> getEntriesList() {
        if (entriesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(entries_);
        } else {
          return entriesBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;</code>
       */
      public int getEntriesCount() {
        if (entriesBuilder_ == null) {
          return entries_.size();
        } else {
          return entriesBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry getEntries(int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);
        } else {
          return entriesBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;</code>
       */
      public Builder setEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.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.ORMultiMap.Entry entries = 2;</code>
       */
      public Builder setEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.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.ORMultiMap.Entry entries = 2;</code>
       */
      public Builder addEntries(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.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.ORMultiMap.Entry entries = 2;</code>
       */
      public Builder addEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.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.ORMultiMap.Entry entries = 2;</code>
       */
      public Builder addEntries(
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry.Builder builderForValue) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.add(builderForValue.build());
          onChanged();
        } else {
          entriesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;</code>
       */
      public Builder addEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.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.ORMultiMap.Entry entries = 2;</code>
       */
      public Builder addAllEntries(
          java.lang.Iterable<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.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.ORMultiMap.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.ORMultiMap.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.ORMultiMap.Entry entries = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry.Builder getEntriesBuilder(
          int index) {
        return getEntriesFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.EntryOrBuilder getEntriesOrBuilder(
          int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);  } else {
          return entriesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;</code>
       */
      public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.EntryOrBuilder> 
           getEntriesOrBuilderList() {
        if (entriesBuilder_ != null) {
          return entriesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(entries_);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry.Builder addEntriesBuilder() {
        return getEntriesFieldBuilder().addBuilder(
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry.Builder addEntriesBuilder(
          int index) {
        return getEntriesFieldBuilder().addBuilder(
            index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry.Builder> 
           getEntriesBuilderList() {
        return getEntriesFieldBuilder().getBuilderList();
      }
      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.EntryOrBuilder> 
          getEntriesFieldBuilder() {
        if (entriesBuilder_ == null) {
          entriesBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.EntryOrBuilder>(
                  entries_,
                  ((bitField0_ & 0x00000002) != 0),
                  getParentForChildren(),
                  isClean());
          entries_ = null;
        }
        return entriesBuilder_;
      }

      private boolean withValueDeltas_ ;
      /**
       * <code>optional bool withValueDeltas = 3;</code>
       * @return Whether the withValueDeltas field is set.
       */
      public boolean hasWithValueDeltas() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional bool withValueDeltas = 3;</code>
       * @return The withValueDeltas.
       */
      public boolean getWithValueDeltas() {
        return withValueDeltas_;
      }
      /**
       * <code>optional bool withValueDeltas = 3;</code>
       * @param value The withValueDeltas to set.
       * @return This builder for chaining.
       */
      public Builder setWithValueDeltas(boolean value) {
        bitField0_ |= 0x00000004;
        withValueDeltas_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool withValueDeltas = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearWithValueDeltas() {
        bitField0_ = (bitField0_ & ~0x00000004);
        withValueDeltas_ = 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.ORMultiMap)
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ORMultiMap)
    private static final akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<ORMultiMap>
        PARSER = new akka.protobufv3.internal.AbstractParser<ORMultiMap>() {
      @java.lang.Override
      public ORMultiMap parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new ORMultiMap(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<ORMultiMap> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<ORMultiMap> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_GSet_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_akka_cluster_ddata_GSet_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_ORSet_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_akka_cluster_ddata_ORSet_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_ORSetDeltaGroup_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_akka_cluster_ddata_ORSetDeltaGroup_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_ORSetDeltaGroup_Entry_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_akka_cluster_ddata_ORSetDeltaGroup_Entry_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_Flag_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_akka_cluster_ddata_Flag_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_LWWRegister_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_akka_cluster_ddata_LWWRegister_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_GCounter_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_akka_cluster_ddata_GCounter_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_GCounter_Entry_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_akka_cluster_ddata_GCounter_Entry_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_PNCounter_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_akka_cluster_ddata_PNCounter_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_ORMap_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_akka_cluster_ddata_ORMap_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_ORMap_Entry_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_akka_cluster_ddata_ORMap_Entry_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_ORMapDeltaGroup_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_akka_cluster_ddata_ORMapDeltaGroup_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_ORMapDeltaGroup_MapEntry_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_akka_cluster_ddata_ORMapDeltaGroup_MapEntry_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_ORMapDeltaGroup_Entry_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_akka_cluster_ddata_ORMapDeltaGroup_Entry_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_LWWMap_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_akka_cluster_ddata_LWWMap_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_LWWMap_Entry_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_akka_cluster_ddata_LWWMap_Entry_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_PNCounterMap_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_akka_cluster_ddata_PNCounterMap_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_PNCounterMap_Entry_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_akka_cluster_ddata_PNCounterMap_Entry_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_ORMultiMap_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_akka_cluster_ddata_ORMultiMap_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_ORMultiMap_Entry_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_akka_cluster_ddata_ORMultiMap_Entry_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\034ReplicatedDataMessages.proto\022\022akka.clu" +
      "ster.ddata\032\030ReplicatorMessages.proto\"\244\001\n" +
      "\004GSet\022\026\n\016stringElements\030\001 \003(\t\022\027\n\013intElem" +
      "ents\030\002 \003(\021B\002\020\001\022\030\n\014longElements\030\003 \003(\022B\002\020\001" +
      "\0227\n\rotherElements\030\004 \003(\0132 .akka.cluster.d" +
      "data.OtherMessage\022\030\n\020actorRefElements\030\005 " +
      "\003(\t\"\212\002\n\005ORSet\0222\n\007vvector\030\001 \002(\0132!.akka.cl" +
      "uster.ddata.VersionVector\022/\n\004dots\030\002 \003(\0132" +
      "!.akka.cluster.ddata.VersionVector\022\026\n\016st" +
      "ringElements\030\003 \003(\t\022\027\n\013intElements\030\004 \003(\021B" +
      "\002\020\001\022\030\n\014longElements\030\005 \003(\022B\002\020\001\0227\n\rotherEl" +
      "ements\030\006 \003(\0132 .akka.cluster.ddata.OtherM" +
      "essage\022\030\n\020actorRefElements\030\007 \003(\t\"\272\001\n\017ORS" +
      "etDeltaGroup\022:\n\007entries\030\001 \003(\0132).akka.clu" +
      "ster.ddata.ORSetDeltaGroup.Entry\032k\n\005Entr" +
      "y\0223\n\toperation\030\001 \002(\0162 .akka.cluster.ddat" +
      "a.ORSetDeltaOp\022-\n\nunderlying\030\002 \002(\0132\031.akk" +
      "a.cluster.ddata.ORSet\"\027\n\004Flag\022\017\n\007enabled" +
      "\030\001 \002(\010\"\202\001\n\013LWWRegister\022\021\n\ttimestamp\030\001 \002(" +
      "\022\022/\n\004node\030\002 \002(\0132!.akka.cluster.ddata.Uni" +
      "queAddress\022/\n\005state\030\003 \002(\0132 .akka.cluster" +
      ".ddata.OtherMessage\"\210\001\n\010GCounter\0223\n\007entr" +
      "ies\030\001 \003(\0132\".akka.cluster.ddata.GCounter." +
      "Entry\032G\n\005Entry\022/\n\004node\030\001 \002(\0132!.akka.clus" +
      "ter.ddata.UniqueAddress\022\r\n\005value\030\002 \002(\014\"o" +
      "\n\tPNCounter\0220\n\nincrements\030\001 \002(\0132\034.akka.c" +
      "luster.ddata.GCounter\0220\n\ndecrements\030\002 \002(" +
      "\0132\034.akka.cluster.ddata.GCounter\"\205\002\n\005ORMa" +
      "p\022\'\n\004keys\030\001 \002(\0132\031.akka.cluster.ddata.ORS" +
      "et\0220\n\007entries\030\002 \003(\0132\037.akka.cluster.ddata" +
      ".ORMap.Entry\032\240\001\n\005Entry\022\021\n\tstringKey\030\001 \001(" +
      "\t\022/\n\005value\030\002 \002(\0132 .akka.cluster.ddata.Ot" +
      "herMessage\022\016\n\006intKey\030\003 \001(\021\022\017\n\007longKey\030\004 " +
      "\001(\022\0222\n\010otherKey\030\005 \001(\0132 .akka.cluster.dda" +
      "ta.OtherMessage\"\263\003\n\017ORMapDeltaGroup\022:\n\007e" +
      "ntries\030\001 \003(\0132).akka.cluster.ddata.ORMapD" +
      "eltaGroup.Entry\032\243\001\n\010MapEntry\022\021\n\tstringKe" +
      "y\030\001 \001(\t\022/\n\005value\030\002 \001(\0132 .akka.cluster.dd" +
      "ata.OtherMessage\022\016\n\006intKey\030\003 \001(\021\022\017\n\007long" +
      "Key\030\004 \001(\022\0222\n\010otherKey\030\005 \001(\0132 .akka.clust" +
      "er.ddata.OtherMessage\032\275\001\n\005Entry\0223\n\topera" +
      "tion\030\001 \002(\0162 .akka.cluster.ddata.ORMapDel" +
      "taOp\022-\n\nunderlying\030\002 \002(\0132\031.akka.cluster." +
      "ddata.ORSet\022\017\n\007zeroTag\030\003 \002(\021\022?\n\tentryDat" +
      "a\030\004 \003(\0132,.akka.cluster.ddata.ORMapDeltaG" +
      "roup.MapEntry\"\206\002\n\006LWWMap\022\'\n\004keys\030\001 \002(\0132\031" +
      ".akka.cluster.ddata.ORSet\0221\n\007entries\030\002 \003" +
      "(\0132 .akka.cluster.ddata.LWWMap.Entry\032\237\001\n" +
      "\005Entry\022\021\n\tstringKey\030\001 \001(\t\022.\n\005value\030\002 \002(\013" +
      "2\037.akka.cluster.ddata.LWWRegister\022\016\n\006int" +
      "Key\030\003 \001(\021\022\017\n\007longKey\030\004 \001(\022\0222\n\010otherKey\030\005" +
      " \001(\0132 .akka.cluster.ddata.OtherMessage\"\220" +
      "\002\n\014PNCounterMap\022\'\n\004keys\030\001 \002(\0132\031.akka.clu" +
      "ster.ddata.ORSet\0227\n\007entries\030\002 \003(\0132&.akka" +
      ".cluster.ddata.PNCounterMap.Entry\032\235\001\n\005En" +
      "try\022\021\n\tstringKey\030\001 \001(\t\022,\n\005value\030\002 \002(\0132\035." +
      "akka.cluster.ddata.PNCounter\022\016\n\006intKey\030\003" +
      " \001(\021\022\017\n\007longKey\030\004 \001(\022\0222\n\010otherKey\030\005 \001(\0132" +
      " .akka.cluster.ddata.OtherMessage\"\241\002\n\nOR" +
      "MultiMap\022\'\n\004keys\030\001 \002(\0132\031.akka.cluster.dd" +
      "ata.ORSet\0225\n\007entries\030\002 \003(\0132$.akka.cluste" +
      "r.ddata.ORMultiMap.Entry\022\027\n\017withValueDel" +
      "tas\030\003 \001(\010\032\231\001\n\005Entry\022\021\n\tstringKey\030\001 \001(\t\022(" +
      "\n\005value\030\002 \002(\0132\031.akka.cluster.ddata.ORSet" +
      "\022\016\n\006intKey\030\003 \001(\021\022\017\n\007longKey\030\004 \001(\022\0222\n\010oth" +
      "erKey\030\005 \001(\0132 .akka.cluster.ddata.OtherMe" +
      "ssage*-\n\014ORSetDeltaOp\022\007\n\003Add\020\000\022\n\n\006Remove" +
      "\020\001\022\010\n\004Full\020\002*R\n\014ORMapDeltaOp\022\014\n\010ORMapPut" +
      "\020\000\022\017\n\013ORMapRemove\020\001\022\022\n\016ORMapRemoveKey\020\002\022" +
      "\017\n\013ORMapUpdate\020\003B#\n\037akka.cluster.ddata.p" +
      "rotobuf.msgH\001"
    };
    descriptor = akka.protobufv3.internal.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new akka.protobufv3.internal.Descriptors.FileDescriptor[] {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.getDescriptor(),
        });
    internal_static_akka_cluster_ddata_GSet_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_akka_cluster_ddata_GSet_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_akka_cluster_ddata_GSet_descriptor,
        new java.lang.String[] { "StringElements", "IntElements", "LongElements", "OtherElements", "ActorRefElements", });
    internal_static_akka_cluster_ddata_ORSet_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_akka_cluster_ddata_ORSet_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_akka_cluster_ddata_ORSet_descriptor,
        new java.lang.String[] { "Vvector", "Dots", "StringElements", "IntElements", "LongElements", "OtherElements", "ActorRefElements", });
    internal_static_akka_cluster_ddata_ORSetDeltaGroup_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_akka_cluster_ddata_ORSetDeltaGroup_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_akka_cluster_ddata_ORSetDeltaGroup_descriptor,
        new java.lang.String[] { "Entries", });
    internal_static_akka_cluster_ddata_ORSetDeltaGroup_Entry_descriptor =
      internal_static_akka_cluster_ddata_ORSetDeltaGroup_descriptor.getNestedTypes().get(0);
    internal_static_akka_cluster_ddata_ORSetDeltaGroup_Entry_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_akka_cluster_ddata_ORSetDeltaGroup_Entry_descriptor,
        new java.lang.String[] { "Operation", "Underlying", });
    internal_static_akka_cluster_ddata_Flag_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_akka_cluster_ddata_Flag_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_akka_cluster_ddata_Flag_descriptor,
        new java.lang.String[] { "Enabled", });
    internal_static_akka_cluster_ddata_LWWRegister_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_akka_cluster_ddata_LWWRegister_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_akka_cluster_ddata_LWWRegister_descriptor,
        new java.lang.String[] { "Timestamp", "Node", "State", });
    internal_static_akka_cluster_ddata_GCounter_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_akka_cluster_ddata_GCounter_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_akka_cluster_ddata_GCounter_descriptor,
        new java.lang.String[] { "Entries", });
    internal_static_akka_cluster_ddata_GCounter_Entry_descriptor =
      internal_static_akka_cluster_ddata_GCounter_descriptor.getNestedTypes().get(0);
    internal_static_akka_cluster_ddata_GCounter_Entry_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_akka_cluster_ddata_GCounter_Entry_descriptor,
        new java.lang.String[] { "Node", "Value", });
    internal_static_akka_cluster_ddata_PNCounter_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_akka_cluster_ddata_PNCounter_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_akka_cluster_ddata_PNCounter_descriptor,
        new java.lang.String[] { "Increments", "Decrements", });
    internal_static_akka_cluster_ddata_ORMap_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_akka_cluster_ddata_ORMap_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_akka_cluster_ddata_ORMap_descriptor,
        new java.lang.String[] { "Keys", "Entries", });
    internal_static_akka_cluster_ddata_ORMap_Entry_descriptor =
      internal_static_akka_cluster_ddata_ORMap_descriptor.getNestedTypes().get(0);
    internal_static_akka_cluster_ddata_ORMap_Entry_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_akka_cluster_ddata_ORMap_Entry_descriptor,
        new java.lang.String[] { "StringKey", "Value", "IntKey", "LongKey", "OtherKey", });
    internal_static_akka_cluster_ddata_ORMapDeltaGroup_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_akka_cluster_ddata_ORMapDeltaGroup_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_akka_cluster_ddata_ORMapDeltaGroup_descriptor,
        new java.lang.String[] { "Entries", });
    internal_static_akka_cluster_ddata_ORMapDeltaGroup_MapEntry_descriptor =
      internal_static_akka_cluster_ddata_ORMapDeltaGroup_descriptor.getNestedTypes().get(0);
    internal_static_akka_cluster_ddata_ORMapDeltaGroup_MapEntry_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_akka_cluster_ddata_ORMapDeltaGroup_MapEntry_descriptor,
        new java.lang.String[] { "StringKey", "Value", "IntKey", "LongKey", "OtherKey", });
    internal_static_akka_cluster_ddata_ORMapDeltaGroup_Entry_descriptor =
      internal_static_akka_cluster_ddata_ORMapDeltaGroup_descriptor.getNestedTypes().get(1);
    internal_static_akka_cluster_ddata_ORMapDeltaGroup_Entry_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_akka_cluster_ddata_ORMapDeltaGroup_Entry_descriptor,
        new java.lang.String[] { "Operation", "Underlying", "ZeroTag", "EntryData", });
    internal_static_akka_cluster_ddata_LWWMap_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_akka_cluster_ddata_LWWMap_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_akka_cluster_ddata_LWWMap_descriptor,
        new java.lang.String[] { "Keys", "Entries", });
    internal_static_akka_cluster_ddata_LWWMap_Entry_descriptor =
      internal_static_akka_cluster_ddata_LWWMap_descriptor.getNestedTypes().get(0);
    internal_static_akka_cluster_ddata_LWWMap_Entry_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_akka_cluster_ddata_LWWMap_Entry_descriptor,
        new java.lang.String[] { "StringKey", "Value", "IntKey", "LongKey", "OtherKey", });
    internal_static_akka_cluster_ddata_PNCounterMap_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_akka_cluster_ddata_PNCounterMap_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_akka_cluster_ddata_PNCounterMap_descriptor,
        new java.lang.String[] { "Keys", "Entries", });
    internal_static_akka_cluster_ddata_PNCounterMap_Entry_descriptor =
      internal_static_akka_cluster_ddata_PNCounterMap_descriptor.getNestedTypes().get(0);
    internal_static_akka_cluster_ddata_PNCounterMap_Entry_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_akka_cluster_ddata_PNCounterMap_Entry_descriptor,
        new java.lang.String[] { "StringKey", "Value", "IntKey", "LongKey", "OtherKey", });
    internal_static_akka_cluster_ddata_ORMultiMap_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_akka_cluster_ddata_ORMultiMap_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_akka_cluster_ddata_ORMultiMap_descriptor,
        new java.lang.String[] { "Keys", "Entries", "WithValueDeltas", });
    internal_static_akka_cluster_ddata_ORMultiMap_Entry_descriptor =
      internal_static_akka_cluster_ddata_ORMultiMap_descriptor.getNestedTypes().get(0);
    internal_static_akka_cluster_ddata_ORMultiMap_Entry_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_akka_cluster_ddata_ORMultiMap_Entry_descriptor,
        new java.lang.String[] { "StringKey", "Value", "IntKey", "LongKey", "OtherKey", });
    akka.cluster.ddata.protobuf.msg.ReplicatorMessages.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
