/*
 * Copyright (C) 2018 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.protobuf.ExtensionRegistry registry) {
  }
  /**
   * Protobuf enum {@code akka.cluster.ddata.ORSetDeltaOp}
   */
  public enum ORSetDeltaOp
      implements akka.protobuf.ProtocolMessageEnum {
    /**
     * <code>Add = 0;</code>
     */
    Add(0, 0),
    /**
     * <code>Remove = 1;</code>
     */
    Remove(1, 1),
    /**
     * <code>Full = 2;</code>
     */
    Full(2, 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; }

    public static ORSetDeltaOp valueOf(int value) {
      switch (value) {
        case 0: return Add;
        case 1: return Remove;
        case 2: return Full;
        default: return null;
      }
    }

    public static akka.protobuf.Internal.EnumLiteMap<ORSetDeltaOp>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static akka.protobuf.Internal.EnumLiteMap<ORSetDeltaOp>
        internalValueMap =
          new akka.protobuf.Internal.EnumLiteMap<ORSetDeltaOp>() {
            public ORSetDeltaOp findValueByNumber(int number) {
              return ORSetDeltaOp.valueOf(number);
            }
          };

    public final akka.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final akka.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final akka.protobuf.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.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      return VALUES[desc.getIndex()];
    }

    private final int index;
    private final int value;

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

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

  /**
   * Protobuf enum {@code akka.cluster.ddata.ORMapDeltaOp}
   */
  public enum ORMapDeltaOp
      implements akka.protobuf.ProtocolMessageEnum {
    /**
     * <code>ORMapPut = 0;</code>
     */
    ORMapPut(0, 0),
    /**
     * <code>ORMapRemove = 1;</code>
     */
    ORMapRemove(1, 1),
    /**
     * <code>ORMapRemoveKey = 2;</code>
     */
    ORMapRemoveKey(2, 2),
    /**
     * <code>ORMapUpdate = 3;</code>
     */
    ORMapUpdate(3, 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; }

    public static ORMapDeltaOp valueOf(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.protobuf.Internal.EnumLiteMap<ORMapDeltaOp>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static akka.protobuf.Internal.EnumLiteMap<ORMapDeltaOp>
        internalValueMap =
          new akka.protobuf.Internal.EnumLiteMap<ORMapDeltaOp>() {
            public ORMapDeltaOp findValueByNumber(int number) {
              return ORMapDeltaOp.valueOf(number);
            }
          };

    public final akka.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final akka.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final akka.protobuf.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.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      return VALUES[desc.getIndex()];
    }

    private final int index;
    private final int value;

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

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

  public interface GSetOrBuilder
      extends akka.protobuf.MessageOrBuilder {

    // repeated string stringElements = 1;
    /**
     * <code>repeated string stringElements = 1;</code>
     */
    java.util.List<java.lang.String>
    getStringElementsList();
    /**
     * <code>repeated string stringElements = 1;</code>
     */
    int getStringElementsCount();
    /**
     * <code>repeated string stringElements = 1;</code>
     */
    java.lang.String getStringElements(int index);
    /**
     * <code>repeated string stringElements = 1;</code>
     */
    akka.protobuf.ByteString
        getStringElementsBytes(int index);

    // repeated sint32 intElements = 2 [packed = true];
    /**
     * <code>repeated sint32 intElements = 2 [packed = true];</code>
     */
    java.util.List<java.lang.Integer> getIntElementsList();
    /**
     * <code>repeated sint32 intElements = 2 [packed = true];</code>
     */
    int getIntElementsCount();
    /**
     * <code>repeated sint32 intElements = 2 [packed = true];</code>
     */
    int getIntElements(int index);

    // repeated sint64 longElements = 3 [packed = true];
    /**
     * <code>repeated sint64 longElements = 3 [packed = true];</code>
     */
    java.util.List<java.lang.Long> getLongElementsList();
    /**
     * <code>repeated sint64 longElements = 3 [packed = true];</code>
     */
    int getLongElementsCount();
    /**
     * <code>repeated sint64 longElements = 3 [packed = true];</code>
     */
    long getLongElements(int index);

    // repeated .akka.cluster.ddata.OtherMessage otherElements = 4;
    /**
     * <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);

    // repeated string actorRefElements = 5;
    /**
     * <code>repeated string actorRefElements = 5;</code>
     *
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     */
    java.util.List<java.lang.String>
    getActorRefElementsList();
    /**
     * <code>repeated string actorRefElements = 5;</code>
     *
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     */
    int getActorRefElementsCount();
    /**
     * <code>repeated string actorRefElements = 5;</code>
     *
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     */
    java.lang.String getActorRefElements(int index);
    /**
     * <code>repeated string actorRefElements = 5;</code>
     *
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     */
    akka.protobuf.ByteString
        getActorRefElementsBytes(int index);
  }
  /**
   * Protobuf type {@code akka.cluster.ddata.GSet}
   */
  public static final class GSet extends
      akka.protobuf.GeneratedMessage
      implements GSetOrBuilder {
    // Use GSet.newBuilder() to construct.
    private GSet(akka.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private GSet(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final GSet defaultInstance;
    public static GSet getDefaultInstance() {
      return defaultInstance;
    }

    public GSet getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final akka.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final akka.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private GSet(
        akka.protobuf.CodedInputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      akka.protobuf.UnknownFieldSet.Builder unknownFields =
          akka.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                stringElements_ = new akka.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              stringElements_.add(input.readBytes());
              break;
            }
            case 16: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                intElements_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000002;
              }
              intElements_.add(input.readSInt32());
              break;
            }
            case 18: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002) && input.getBytesUntilLimit() > 0) {
                intElements_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000002;
              }
              while (input.getBytesUntilLimit() > 0) {
                intElements_.add(input.readSInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 24: {
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                longElements_ = new java.util.ArrayList<java.lang.Long>();
                mutable_bitField0_ |= 0x00000004;
              }
              longElements_.add(input.readSInt64());
              break;
            }
            case 26: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004) && input.getBytesUntilLimit() > 0) {
                longElements_ = new java.util.ArrayList<java.lang.Long>();
                mutable_bitField0_ |= 0x00000004;
              }
              while (input.getBytesUntilLimit() > 0) {
                longElements_.add(input.readSInt64());
              }
              input.popLimit(limit);
              break;
            }
            case 34: {
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                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: {
              if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
                actorRefElements_ = new akka.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000010;
              }
              actorRefElements_.add(input.readBytes());
              break;
            }
          }
        }
      } catch (akka.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          stringElements_ = new akka.protobuf.UnmodifiableLazyStringList(stringElements_);
        }
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          intElements_ = java.util.Collections.unmodifiableList(intElements_);
        }
        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
          longElements_ = java.util.Collections.unmodifiableList(longElements_);
        }
        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
          otherElements_ = java.util.Collections.unmodifiableList(otherElements_);
        }
        if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
          actorRefElements_ = new akka.protobuf.UnmodifiableLazyStringList(actorRefElements_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GSet_descriptor;
    }

    protected akka.protobuf.GeneratedMessage.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 akka.protobuf.Parser<GSet> PARSER =
        new akka.protobuf.AbstractParser<GSet>() {
      public GSet parsePartialFrom(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        return new GSet(input, extensionRegistry);
      }
    };

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

    // repeated string stringElements = 1;
    public static final int STRINGELEMENTS_FIELD_NUMBER = 1;
    private akka.protobuf.LazyStringList stringElements_;
    /**
     * <code>repeated string stringElements = 1;</code>
     */
    public java.util.List<java.lang.String>
        getStringElementsList() {
      return stringElements_;
    }
    /**
     * <code>repeated string stringElements = 1;</code>
     */
    public int getStringElementsCount() {
      return stringElements_.size();
    }
    /**
     * <code>repeated string stringElements = 1;</code>
     */
    public java.lang.String getStringElements(int index) {
      return stringElements_.get(index);
    }
    /**
     * <code>repeated string stringElements = 1;</code>
     */
    public akka.protobuf.ByteString
        getStringElementsBytes(int index) {
      return stringElements_.getByteString(index);
    }

    // repeated sint32 intElements = 2 [packed = true];
    public static final int INTELEMENTS_FIELD_NUMBER = 2;
    private java.util.List<java.lang.Integer> intElements_;
    /**
     * <code>repeated sint32 intElements = 2 [packed = true];</code>
     */
    public java.util.List<java.lang.Integer>
        getIntElementsList() {
      return intElements_;
    }
    /**
     * <code>repeated sint32 intElements = 2 [packed = true];</code>
     */
    public int getIntElementsCount() {
      return intElements_.size();
    }
    /**
     * <code>repeated sint32 intElements = 2 [packed = true];</code>
     */
    public int getIntElements(int index) {
      return intElements_.get(index);
    }
    private int intElementsMemoizedSerializedSize = -1;

    // repeated sint64 longElements = 3 [packed = true];
    public static final int LONGELEMENTS_FIELD_NUMBER = 3;
    private java.util.List<java.lang.Long> longElements_;
    /**
     * <code>repeated sint64 longElements = 3 [packed = true];</code>
     */
    public java.util.List<java.lang.Long>
        getLongElementsList() {
      return longElements_;
    }
    /**
     * <code>repeated sint64 longElements = 3 [packed = true];</code>
     */
    public int getLongElementsCount() {
      return longElements_.size();
    }
    /**
     * <code>repeated sint64 longElements = 3 [packed = true];</code>
     */
    public long getLongElements(int index) {
      return longElements_.get(index);
    }
    private int longElementsMemoizedSerializedSize = -1;

    // repeated .akka.cluster.ddata.OtherMessage otherElements = 4;
    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);
    }

    // repeated string actorRefElements = 5;
    public static final int ACTORREFELEMENTS_FIELD_NUMBER = 5;
    private akka.protobuf.LazyStringList actorRefElements_;
    /**
     * <code>repeated string actorRefElements = 5;</code>
     *
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     */
    public java.util.List<java.lang.String>
        getActorRefElementsList() {
      return actorRefElements_;
    }
    /**
     * <code>repeated string actorRefElements = 5;</code>
     *
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     */
    public int getActorRefElementsCount() {
      return actorRefElements_.size();
    }
    /**
     * <code>repeated string actorRefElements = 5;</code>
     *
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     */
    public java.lang.String getActorRefElements(int index) {
      return actorRefElements_.get(index);
    }
    /**
     * <code>repeated string actorRefElements = 5;</code>
     *
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     */
    public akka.protobuf.ByteString
        getActorRefElementsBytes(int index) {
      return actorRefElements_.getByteString(index);
    }

    private void initFields() {
      stringElements_ = akka.protobuf.LazyStringArrayList.EMPTY;
      intElements_ = java.util.Collections.emptyList();
      longElements_ = java.util.Collections.emptyList();
      otherElements_ = java.util.Collections.emptyList();
      actorRefElements_ = akka.protobuf.LazyStringArrayList.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      for (int i = 0; i < getOtherElementsCount(); i++) {
        if (!getOtherElements(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(akka.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < stringElements_.size(); i++) {
        output.writeBytes(1, stringElements_.getByteString(i));
      }
      if (getIntElementsList().size() > 0) {
        output.writeRawVarint32(18);
        output.writeRawVarint32(intElementsMemoizedSerializedSize);
      }
      for (int i = 0; i < intElements_.size(); i++) {
        output.writeSInt32NoTag(intElements_.get(i));
      }
      if (getLongElementsList().size() > 0) {
        output.writeRawVarint32(26);
        output.writeRawVarint32(longElementsMemoizedSerializedSize);
      }
      for (int i = 0; i < longElements_.size(); i++) {
        output.writeSInt64NoTag(longElements_.get(i));
      }
      for (int i = 0; i < otherElements_.size(); i++) {
        output.writeMessage(4, otherElements_.get(i));
      }
      for (int i = 0; i < actorRefElements_.size(); i++) {
        output.writeBytes(5, actorRefElements_.getByteString(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      {
        int dataSize = 0;
        for (int i = 0; i < stringElements_.size(); i++) {
          dataSize += akka.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(stringElements_.getByteString(i));
        }
        size += dataSize;
        size += 1 * getStringElementsList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < intElements_.size(); i++) {
          dataSize += akka.protobuf.CodedOutputStream
            .computeSInt32SizeNoTag(intElements_.get(i));
        }
        size += dataSize;
        if (!getIntElementsList().isEmpty()) {
          size += 1;
          size += akka.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        intElementsMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        for (int i = 0; i < longElements_.size(); i++) {
          dataSize += akka.protobuf.CodedOutputStream
            .computeSInt64SizeNoTag(longElements_.get(i));
        }
        size += dataSize;
        if (!getLongElementsList().isEmpty()) {
          size += 1;
          size += akka.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        longElementsMemoizedSerializedSize = dataSize;
      }
      for (int i = 0; i < otherElements_.size(); i++) {
        size += akka.protobuf.CodedOutputStream
          .computeMessageSize(4, otherElements_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < actorRefElements_.size(); i++) {
          dataSize += akka.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(actorRefElements_.getByteString(i));
        }
        size += dataSize;
        size += 1 * getActorRefElementsList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet parseFrom(
        akka.protobuf.ByteString data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet parseFrom(
        akka.protobuf.ByteString data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet parseFrom(byte[] data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet parseFrom(
        byte[] data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.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 PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet parseFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet parseFrom(
        akka.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet parseFrom(
        akka.protobuf.CodedInputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSet prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.GSet}
     */
    public static final class Builder extends
        akka.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GSetOrBuilder {
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GSet_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getOtherElementsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        stringElements_ = akka.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        intElements_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        longElements_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        if (otherElementsBuilder_ == null) {
          otherElements_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
        } else {
          otherElementsBuilder_.clear();
        }
        actorRefElements_ = akka.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public akka.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GSet_descriptor;
      }

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

      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;
      }

      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) == 0x00000001)) {
          stringElements_ = new akka.protobuf.UnmodifiableLazyStringList(
              stringElements_);
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.stringElements_ = stringElements_;
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          intElements_ = java.util.Collections.unmodifiableList(intElements_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.intElements_ = intElements_;
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          longElements_ = java.util.Collections.unmodifiableList(longElements_);
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.longElements_ = longElements_;
        if (otherElementsBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008)) {
            otherElements_ = java.util.Collections.unmodifiableList(otherElements_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.otherElements_ = otherElements_;
        } else {
          result.otherElements_ = otherElementsBuilder_.build();
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          actorRefElements_ = new akka.protobuf.UnmodifiableLazyStringList(
              actorRefElements_);
          bitField0_ = (bitField0_ & ~0x00000010);
        }
        result.actorRefElements_ = actorRefElements_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(akka.protobuf.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.protobuf.GeneratedMessage.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.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        for (int i = 0; i < getOtherElementsCount(); i++) {
          if (!getOtherElements(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }

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

      // repeated string stringElements = 1;
      private akka.protobuf.LazyStringList stringElements_ = akka.protobuf.LazyStringArrayList.EMPTY;
      private void ensureStringElementsIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          stringElements_ = new akka.protobuf.LazyStringArrayList(stringElements_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * <code>repeated string stringElements = 1;</code>
       */
      public java.util.List<java.lang.String>
          getStringElementsList() {
        return java.util.Collections.unmodifiableList(stringElements_);
      }
      /**
       * <code>repeated string stringElements = 1;</code>
       */
      public int getStringElementsCount() {
        return stringElements_.size();
      }
      /**
       * <code>repeated string stringElements = 1;</code>
       */
      public java.lang.String getStringElements(int index) {
        return stringElements_.get(index);
      }
      /**
       * <code>repeated string stringElements = 1;</code>
       */
      public akka.protobuf.ByteString
          getStringElementsBytes(int index) {
        return stringElements_.getByteString(index);
      }
      /**
       * <code>repeated string stringElements = 1;</code>
       */
      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>
       */
      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>
       */
      public Builder addAllStringElements(
          java.lang.Iterable<java.lang.String> values) {
        ensureStringElementsIsMutable();
        super.addAll(values, stringElements_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string stringElements = 1;</code>
       */
      public Builder clearStringElements() {
        stringElements_ = akka.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string stringElements = 1;</code>
       */
      public Builder addStringElementsBytes(
          akka.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureStringElementsIsMutable();
        stringElements_.add(value);
        onChanged();
        return this;
      }

      // repeated sint32 intElements = 2 [packed = true];
      private java.util.List<java.lang.Integer> intElements_ = java.util.Collections.emptyList();
      private void ensureIntElementsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          intElements_ = new java.util.ArrayList<java.lang.Integer>(intElements_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * <code>repeated sint32 intElements = 2 [packed = true];</code>
       */
      public java.util.List<java.lang.Integer>
          getIntElementsList() {
        return java.util.Collections.unmodifiableList(intElements_);
      }
      /**
       * <code>repeated sint32 intElements = 2 [packed = true];</code>
       */
      public int getIntElementsCount() {
        return intElements_.size();
      }
      /**
       * <code>repeated sint32 intElements = 2 [packed = true];</code>
       */
      public int getIntElements(int index) {
        return intElements_.get(index);
      }
      /**
       * <code>repeated sint32 intElements = 2 [packed = true];</code>
       */
      public Builder setIntElements(
          int index, int value) {
        ensureIntElementsIsMutable();
        intElements_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint32 intElements = 2 [packed = true];</code>
       */
      public Builder addIntElements(int value) {
        ensureIntElementsIsMutable();
        intElements_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint32 intElements = 2 [packed = true];</code>
       */
      public Builder addAllIntElements(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureIntElementsIsMutable();
        super.addAll(values, intElements_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint32 intElements = 2 [packed = true];</code>
       */
      public Builder clearIntElements() {
        intElements_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }

      // repeated sint64 longElements = 3 [packed = true];
      private java.util.List<java.lang.Long> longElements_ = java.util.Collections.emptyList();
      private void ensureLongElementsIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          longElements_ = new java.util.ArrayList<java.lang.Long>(longElements_);
          bitField0_ |= 0x00000004;
         }
      }
      /**
       * <code>repeated sint64 longElements = 3 [packed = true];</code>
       */
      public java.util.List<java.lang.Long>
          getLongElementsList() {
        return java.util.Collections.unmodifiableList(longElements_);
      }
      /**
       * <code>repeated sint64 longElements = 3 [packed = true];</code>
       */
      public int getLongElementsCount() {
        return longElements_.size();
      }
      /**
       * <code>repeated sint64 longElements = 3 [packed = true];</code>
       */
      public long getLongElements(int index) {
        return longElements_.get(index);
      }
      /**
       * <code>repeated sint64 longElements = 3 [packed = true];</code>
       */
      public Builder setLongElements(
          int index, long value) {
        ensureLongElementsIsMutable();
        longElements_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint64 longElements = 3 [packed = true];</code>
       */
      public Builder addLongElements(long value) {
        ensureLongElementsIsMutable();
        longElements_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint64 longElements = 3 [packed = true];</code>
       */
      public Builder addAllLongElements(
          java.lang.Iterable<? extends java.lang.Long> values) {
        ensureLongElementsIsMutable();
        super.addAll(values, longElements_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint64 longElements = 3 [packed = true];</code>
       */
      public Builder clearLongElements() {
        longElements_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }

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

      private akka.protobuf.RepeatedFieldBuilder<
          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();
          super.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.protobuf.RepeatedFieldBuilder<
          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.protobuf.RepeatedFieldBuilder<
              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) == 0x00000008),
                  getParentForChildren(),
                  isClean());
          otherElements_ = null;
        }
        return otherElementsBuilder_;
      }

      // repeated string actorRefElements = 5;
      private akka.protobuf.LazyStringList actorRefElements_ = akka.protobuf.LazyStringArrayList.EMPTY;
      private void ensureActorRefElementsIsMutable() {
        if (!((bitField0_ & 0x00000010) == 0x00000010)) {
          actorRefElements_ = new akka.protobuf.LazyStringArrayList(actorRefElements_);
          bitField0_ |= 0x00000010;
         }
      }
      /**
       * <code>repeated string actorRefElements = 5;</code>
       *
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       */
      public java.util.List<java.lang.String>
          getActorRefElementsList() {
        return java.util.Collections.unmodifiableList(actorRefElements_);
      }
      /**
       * <code>repeated string actorRefElements = 5;</code>
       *
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       */
      public int getActorRefElementsCount() {
        return actorRefElements_.size();
      }
      /**
       * <code>repeated string actorRefElements = 5;</code>
       *
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       */
      public java.lang.String getActorRefElements(int index) {
        return actorRefElements_.get(index);
      }
      /**
       * <code>repeated string actorRefElements = 5;</code>
       *
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       */
      public akka.protobuf.ByteString
          getActorRefElementsBytes(int index) {
        return actorRefElements_.getByteString(index);
      }
      /**
       * <code>repeated string actorRefElements = 5;</code>
       *
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       */
      public Builder setActorRefElements(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureActorRefElementsIsMutable();
        actorRefElements_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string actorRefElements = 5;</code>
       *
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       */
      public Builder addActorRefElements(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureActorRefElementsIsMutable();
        actorRefElements_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string actorRefElements = 5;</code>
       *
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       */
      public Builder addAllActorRefElements(
          java.lang.Iterable<java.lang.String> values) {
        ensureActorRefElementsIsMutable();
        super.addAll(values, actorRefElements_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string actorRefElements = 5;</code>
       *
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       */
      public Builder clearActorRefElements() {
        actorRefElements_ = akka.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string actorRefElements = 5;</code>
       *
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       */
      public Builder addActorRefElementsBytes(
          akka.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureActorRefElementsIsMutable();
        actorRefElements_.add(value);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.GSet)
    }

    static {
      defaultInstance = new GSet(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.GSet)
  }

  public interface ORSetOrBuilder
      extends akka.protobuf.MessageOrBuilder {

    // required .akka.cluster.ddata.VersionVector vvector = 1;
    /**
     * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
     */
    boolean hasVvector();
    /**
     * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
     */
    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();

    // repeated .akka.cluster.ddata.VersionVector dots = 2;
    /**
     * <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);

    // repeated string stringElements = 3;
    /**
     * <code>repeated string stringElements = 3;</code>
     */
    java.util.List<java.lang.String>
    getStringElementsList();
    /**
     * <code>repeated string stringElements = 3;</code>
     */
    int getStringElementsCount();
    /**
     * <code>repeated string stringElements = 3;</code>
     */
    java.lang.String getStringElements(int index);
    /**
     * <code>repeated string stringElements = 3;</code>
     */
    akka.protobuf.ByteString
        getStringElementsBytes(int index);

    // repeated sint32 intElements = 4 [packed = true];
    /**
     * <code>repeated sint32 intElements = 4 [packed = true];</code>
     */
    java.util.List<java.lang.Integer> getIntElementsList();
    /**
     * <code>repeated sint32 intElements = 4 [packed = true];</code>
     */
    int getIntElementsCount();
    /**
     * <code>repeated sint32 intElements = 4 [packed = true];</code>
     */
    int getIntElements(int index);

    // repeated sint64 longElements = 5 [packed = true];
    /**
     * <code>repeated sint64 longElements = 5 [packed = true];</code>
     */
    java.util.List<java.lang.Long> getLongElementsList();
    /**
     * <code>repeated sint64 longElements = 5 [packed = true];</code>
     */
    int getLongElementsCount();
    /**
     * <code>repeated sint64 longElements = 5 [packed = true];</code>
     */
    long getLongElements(int index);

    // repeated .akka.cluster.ddata.OtherMessage otherElements = 6;
    /**
     * <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);

    // repeated string actorRefElements = 7;
    /**
     * <code>repeated string actorRefElements = 7;</code>
     *
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     */
    java.util.List<java.lang.String>
    getActorRefElementsList();
    /**
     * <code>repeated string actorRefElements = 7;</code>
     *
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     */
    int getActorRefElementsCount();
    /**
     * <code>repeated string actorRefElements = 7;</code>
     *
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     */
    java.lang.String getActorRefElements(int index);
    /**
     * <code>repeated string actorRefElements = 7;</code>
     *
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     */
    akka.protobuf.ByteString
        getActorRefElementsBytes(int index);
  }
  /**
   * Protobuf type {@code akka.cluster.ddata.ORSet}
   */
  public static final class ORSet extends
      akka.protobuf.GeneratedMessage
      implements ORSetOrBuilder {
    // Use ORSet.newBuilder() to construct.
    private ORSet(akka.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ORSet(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ORSet defaultInstance;
    public static ORSet getDefaultInstance() {
      return defaultInstance;
    }

    public ORSet getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final akka.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final akka.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private ORSet(
        akka.protobuf.CodedInputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      akka.protobuf.UnknownFieldSet.Builder unknownFields =
          akka.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                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) == 0x00000002)) {
                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: {
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                stringElements_ = new akka.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000004;
              }
              stringElements_.add(input.readBytes());
              break;
            }
            case 32: {
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                intElements_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000008;
              }
              intElements_.add(input.readSInt32());
              break;
            }
            case 34: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008) && input.getBytesUntilLimit() > 0) {
                intElements_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000008;
              }
              while (input.getBytesUntilLimit() > 0) {
                intElements_.add(input.readSInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 40: {
              if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
                longElements_ = new java.util.ArrayList<java.lang.Long>();
                mutable_bitField0_ |= 0x00000010;
              }
              longElements_.add(input.readSInt64());
              break;
            }
            case 42: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000010) == 0x00000010) && input.getBytesUntilLimit() > 0) {
                longElements_ = new java.util.ArrayList<java.lang.Long>();
                mutable_bitField0_ |= 0x00000010;
              }
              while (input.getBytesUntilLimit() > 0) {
                longElements_.add(input.readSInt64());
              }
              input.popLimit(limit);
              break;
            }
            case 50: {
              if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
                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: {
              if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
                actorRefElements_ = new akka.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000040;
              }
              actorRefElements_.add(input.readBytes());
              break;
            }
          }
        }
      } catch (akka.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          dots_ = java.util.Collections.unmodifiableList(dots_);
        }
        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
          stringElements_ = new akka.protobuf.UnmodifiableLazyStringList(stringElements_);
        }
        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
          intElements_ = java.util.Collections.unmodifiableList(intElements_);
        }
        if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
          longElements_ = java.util.Collections.unmodifiableList(longElements_);
        }
        if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
          otherElements_ = java.util.Collections.unmodifiableList(otherElements_);
        }
        if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
          actorRefElements_ = new akka.protobuf.UnmodifiableLazyStringList(actorRefElements_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSet_descriptor;
    }

    protected akka.protobuf.GeneratedMessage.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);
    }

    public static akka.protobuf.Parser<ORSet> PARSER =
        new akka.protobuf.AbstractParser<ORSet>() {
      public ORSet parsePartialFrom(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        return new ORSet(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // required .akka.cluster.ddata.VersionVector vvector = 1;
    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>
     */
    public boolean hasVvector() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector getVvector() {
      return vvector_;
    }
    /**
     * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder getVvectorOrBuilder() {
      return vvector_;
    }

    // repeated .akka.cluster.ddata.VersionVector dots = 2;
    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);
    }

    // repeated string stringElements = 3;
    public static final int STRINGELEMENTS_FIELD_NUMBER = 3;
    private akka.protobuf.LazyStringList stringElements_;
    /**
     * <code>repeated string stringElements = 3;</code>
     */
    public java.util.List<java.lang.String>
        getStringElementsList() {
      return stringElements_;
    }
    /**
     * <code>repeated string stringElements = 3;</code>
     */
    public int getStringElementsCount() {
      return stringElements_.size();
    }
    /**
     * <code>repeated string stringElements = 3;</code>
     */
    public java.lang.String getStringElements(int index) {
      return stringElements_.get(index);
    }
    /**
     * <code>repeated string stringElements = 3;</code>
     */
    public akka.protobuf.ByteString
        getStringElementsBytes(int index) {
      return stringElements_.getByteString(index);
    }

    // repeated sint32 intElements = 4 [packed = true];
    public static final int INTELEMENTS_FIELD_NUMBER = 4;
    private java.util.List<java.lang.Integer> intElements_;
    /**
     * <code>repeated sint32 intElements = 4 [packed = true];</code>
     */
    public java.util.List<java.lang.Integer>
        getIntElementsList() {
      return intElements_;
    }
    /**
     * <code>repeated sint32 intElements = 4 [packed = true];</code>
     */
    public int getIntElementsCount() {
      return intElements_.size();
    }
    /**
     * <code>repeated sint32 intElements = 4 [packed = true];</code>
     */
    public int getIntElements(int index) {
      return intElements_.get(index);
    }
    private int intElementsMemoizedSerializedSize = -1;

    // repeated sint64 longElements = 5 [packed = true];
    public static final int LONGELEMENTS_FIELD_NUMBER = 5;
    private java.util.List<java.lang.Long> longElements_;
    /**
     * <code>repeated sint64 longElements = 5 [packed = true];</code>
     */
    public java.util.List<java.lang.Long>
        getLongElementsList() {
      return longElements_;
    }
    /**
     * <code>repeated sint64 longElements = 5 [packed = true];</code>
     */
    public int getLongElementsCount() {
      return longElements_.size();
    }
    /**
     * <code>repeated sint64 longElements = 5 [packed = true];</code>
     */
    public long getLongElements(int index) {
      return longElements_.get(index);
    }
    private int longElementsMemoizedSerializedSize = -1;

    // repeated .akka.cluster.ddata.OtherMessage otherElements = 6;
    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);
    }

    // repeated string actorRefElements = 7;
    public static final int ACTORREFELEMENTS_FIELD_NUMBER = 7;
    private akka.protobuf.LazyStringList actorRefElements_;
    /**
     * <code>repeated string actorRefElements = 7;</code>
     *
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     */
    public java.util.List<java.lang.String>
        getActorRefElementsList() {
      return actorRefElements_;
    }
    /**
     * <code>repeated string actorRefElements = 7;</code>
     *
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     */
    public int getActorRefElementsCount() {
      return actorRefElements_.size();
    }
    /**
     * <code>repeated string actorRefElements = 7;</code>
     *
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     */
    public java.lang.String getActorRefElements(int index) {
      return actorRefElements_.get(index);
    }
    /**
     * <code>repeated string actorRefElements = 7;</code>
     *
     * <pre>
     * added in Akka 2.5.14
     * </pre>
     */
    public akka.protobuf.ByteString
        getActorRefElementsBytes(int index) {
      return actorRefElements_.getByteString(index);
    }

    private void initFields() {
      vvector_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.getDefaultInstance();
      dots_ = java.util.Collections.emptyList();
      stringElements_ = akka.protobuf.LazyStringArrayList.EMPTY;
      intElements_ = java.util.Collections.emptyList();
      longElements_ = java.util.Collections.emptyList();
      otherElements_ = java.util.Collections.emptyList();
      actorRefElements_ = akka.protobuf.LazyStringArrayList.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      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;
    }

    public void writeTo(akka.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, vvector_);
      }
      for (int i = 0; i < dots_.size(); i++) {
        output.writeMessage(2, dots_.get(i));
      }
      for (int i = 0; i < stringElements_.size(); i++) {
        output.writeBytes(3, stringElements_.getByteString(i));
      }
      if (getIntElementsList().size() > 0) {
        output.writeRawVarint32(34);
        output.writeRawVarint32(intElementsMemoizedSerializedSize);
      }
      for (int i = 0; i < intElements_.size(); i++) {
        output.writeSInt32NoTag(intElements_.get(i));
      }
      if (getLongElementsList().size() > 0) {
        output.writeRawVarint32(42);
        output.writeRawVarint32(longElementsMemoizedSerializedSize);
      }
      for (int i = 0; i < longElements_.size(); i++) {
        output.writeSInt64NoTag(longElements_.get(i));
      }
      for (int i = 0; i < otherElements_.size(); i++) {
        output.writeMessage(6, otherElements_.get(i));
      }
      for (int i = 0; i < actorRefElements_.size(); i++) {
        output.writeBytes(7, actorRefElements_.getByteString(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += akka.protobuf.CodedOutputStream
          .computeMessageSize(1, vvector_);
      }
      for (int i = 0; i < dots_.size(); i++) {
        size += akka.protobuf.CodedOutputStream
          .computeMessageSize(2, dots_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < stringElements_.size(); i++) {
          dataSize += akka.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(stringElements_.getByteString(i));
        }
        size += dataSize;
        size += 1 * getStringElementsList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < intElements_.size(); i++) {
          dataSize += akka.protobuf.CodedOutputStream
            .computeSInt32SizeNoTag(intElements_.get(i));
        }
        size += dataSize;
        if (!getIntElementsList().isEmpty()) {
          size += 1;
          size += akka.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        intElementsMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        for (int i = 0; i < longElements_.size(); i++) {
          dataSize += akka.protobuf.CodedOutputStream
            .computeSInt64SizeNoTag(longElements_.get(i));
        }
        size += dataSize;
        if (!getLongElementsList().isEmpty()) {
          size += 1;
          size += akka.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        longElementsMemoizedSerializedSize = dataSize;
      }
      for (int i = 0; i < otherElements_.size(); i++) {
        size += akka.protobuf.CodedOutputStream
          .computeMessageSize(6, otherElements_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < actorRefElements_.size(); i++) {
          dataSize += akka.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(actorRefElements_.getByteString(i));
        }
        size += dataSize;
        size += 1 * getActorRefElementsList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet parseFrom(
        akka.protobuf.ByteString data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet parseFrom(
        akka.protobuf.ByteString data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet parseFrom(byte[] data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet parseFrom(
        byte[] data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.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 PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet parseFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet parseFrom(
        akka.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet parseFrom(
        akka.protobuf.CodedInputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.ORSet}
     */
    public static final class Builder extends
        akka.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder {
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSet_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getVvectorFieldBuilder();
          getDotsFieldBuilder();
          getOtherElementsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (vvectorBuilder_ == null) {
          vvector_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.getDefaultInstance();
        } else {
          vvectorBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (dotsBuilder_ == null) {
          dots_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          dotsBuilder_.clear();
        }
        stringElements_ = akka.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        intElements_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000008);
        longElements_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000010);
        if (otherElementsBuilder_ == null) {
          otherElements_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000020);
        } else {
          otherElementsBuilder_.clear();
        }
        actorRefElements_ = akka.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000040);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public akka.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSet_descriptor;
      }

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

      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;
      }

      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) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (vvectorBuilder_ == null) {
          result.vvector_ = vvector_;
        } else {
          result.vvector_ = vvectorBuilder_.build();
        }
        if (dotsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            dots_ = java.util.Collections.unmodifiableList(dots_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.dots_ = dots_;
        } else {
          result.dots_ = dotsBuilder_.build();
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          stringElements_ = new akka.protobuf.UnmodifiableLazyStringList(
              stringElements_);
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.stringElements_ = stringElements_;
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          intElements_ = java.util.Collections.unmodifiableList(intElements_);
          bitField0_ = (bitField0_ & ~0x00000008);
        }
        result.intElements_ = intElements_;
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          longElements_ = java.util.Collections.unmodifiableList(longElements_);
          bitField0_ = (bitField0_ & ~0x00000010);
        }
        result.longElements_ = longElements_;
        if (otherElementsBuilder_ == null) {
          if (((bitField0_ & 0x00000020) == 0x00000020)) {
            otherElements_ = java.util.Collections.unmodifiableList(otherElements_);
            bitField0_ = (bitField0_ & ~0x00000020);
          }
          result.otherElements_ = otherElements_;
        } else {
          result.otherElements_ = otherElementsBuilder_.build();
        }
        if (((bitField0_ & 0x00000040) == 0x00000040)) {
          actorRefElements_ = new akka.protobuf.UnmodifiableLazyStringList(
              actorRefElements_);
          bitField0_ = (bitField0_ & ~0x00000040);
        }
        result.actorRefElements_ = actorRefElements_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(akka.protobuf.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.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.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.getUnknownFields());
        return this;
      }

      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;
      }

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

      // required .akka.cluster.ddata.VersionVector vvector = 1;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector vvector_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.getDefaultInstance();
      private akka.protobuf.SingleFieldBuilder<
          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>
       */
      public boolean hasVvector() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector getVvector() {
        if (vvectorBuilder_ == null) {
          return 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) == 0x00000001) &&
              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_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.getDefaultInstance();
          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_;
        }
      }
      /**
       * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
       */
      private akka.protobuf.SingleFieldBuilder<
          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.protobuf.SingleFieldBuilder<
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVector.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.VersionVectorOrBuilder>(
                  vvector_,
                  getParentForChildren(),
                  isClean());
          vvector_ = null;
        }
        return vvectorBuilder_;
      }

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

      private akka.protobuf.RepeatedFieldBuilder<
          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();
          super.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.protobuf.RepeatedFieldBuilder<
          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.protobuf.RepeatedFieldBuilder<
              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) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          dots_ = null;
        }
        return dotsBuilder_;
      }

      // repeated string stringElements = 3;
      private akka.protobuf.LazyStringList stringElements_ = akka.protobuf.LazyStringArrayList.EMPTY;
      private void ensureStringElementsIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          stringElements_ = new akka.protobuf.LazyStringArrayList(stringElements_);
          bitField0_ |= 0x00000004;
         }
      }
      /**
       * <code>repeated string stringElements = 3;</code>
       */
      public java.util.List<java.lang.String>
          getStringElementsList() {
        return java.util.Collections.unmodifiableList(stringElements_);
      }
      /**
       * <code>repeated string stringElements = 3;</code>
       */
      public int getStringElementsCount() {
        return stringElements_.size();
      }
      /**
       * <code>repeated string stringElements = 3;</code>
       */
      public java.lang.String getStringElements(int index) {
        return stringElements_.get(index);
      }
      /**
       * <code>repeated string stringElements = 3;</code>
       */
      public akka.protobuf.ByteString
          getStringElementsBytes(int index) {
        return stringElements_.getByteString(index);
      }
      /**
       * <code>repeated string stringElements = 3;</code>
       */
      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>
       */
      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>
       */
      public Builder addAllStringElements(
          java.lang.Iterable<java.lang.String> values) {
        ensureStringElementsIsMutable();
        super.addAll(values, stringElements_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string stringElements = 3;</code>
       */
      public Builder clearStringElements() {
        stringElements_ = akka.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string stringElements = 3;</code>
       */
      public Builder addStringElementsBytes(
          akka.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureStringElementsIsMutable();
        stringElements_.add(value);
        onChanged();
        return this;
      }

      // repeated sint32 intElements = 4 [packed = true];
      private java.util.List<java.lang.Integer> intElements_ = java.util.Collections.emptyList();
      private void ensureIntElementsIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          intElements_ = new java.util.ArrayList<java.lang.Integer>(intElements_);
          bitField0_ |= 0x00000008;
         }
      }
      /**
       * <code>repeated sint32 intElements = 4 [packed = true];</code>
       */
      public java.util.List<java.lang.Integer>
          getIntElementsList() {
        return java.util.Collections.unmodifiableList(intElements_);
      }
      /**
       * <code>repeated sint32 intElements = 4 [packed = true];</code>
       */
      public int getIntElementsCount() {
        return intElements_.size();
      }
      /**
       * <code>repeated sint32 intElements = 4 [packed = true];</code>
       */
      public int getIntElements(int index) {
        return intElements_.get(index);
      }
      /**
       * <code>repeated sint32 intElements = 4 [packed = true];</code>
       */
      public Builder setIntElements(
          int index, int value) {
        ensureIntElementsIsMutable();
        intElements_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint32 intElements = 4 [packed = true];</code>
       */
      public Builder addIntElements(int value) {
        ensureIntElementsIsMutable();
        intElements_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint32 intElements = 4 [packed = true];</code>
       */
      public Builder addAllIntElements(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureIntElementsIsMutable();
        super.addAll(values, intElements_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint32 intElements = 4 [packed = true];</code>
       */
      public Builder clearIntElements() {
        intElements_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
        return this;
      }

      // repeated sint64 longElements = 5 [packed = true];
      private java.util.List<java.lang.Long> longElements_ = java.util.Collections.emptyList();
      private void ensureLongElementsIsMutable() {
        if (!((bitField0_ & 0x00000010) == 0x00000010)) {
          longElements_ = new java.util.ArrayList<java.lang.Long>(longElements_);
          bitField0_ |= 0x00000010;
         }
      }
      /**
       * <code>repeated sint64 longElements = 5 [packed = true];</code>
       */
      public java.util.List<java.lang.Long>
          getLongElementsList() {
        return java.util.Collections.unmodifiableList(longElements_);
      }
      /**
       * <code>repeated sint64 longElements = 5 [packed = true];</code>
       */
      public int getLongElementsCount() {
        return longElements_.size();
      }
      /**
       * <code>repeated sint64 longElements = 5 [packed = true];</code>
       */
      public long getLongElements(int index) {
        return longElements_.get(index);
      }
      /**
       * <code>repeated sint64 longElements = 5 [packed = true];</code>
       */
      public Builder setLongElements(
          int index, long value) {
        ensureLongElementsIsMutable();
        longElements_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint64 longElements = 5 [packed = true];</code>
       */
      public Builder addLongElements(long value) {
        ensureLongElementsIsMutable();
        longElements_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint64 longElements = 5 [packed = true];</code>
       */
      public Builder addAllLongElements(
          java.lang.Iterable<? extends java.lang.Long> values) {
        ensureLongElementsIsMutable();
        super.addAll(values, longElements_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated sint64 longElements = 5 [packed = true];</code>
       */
      public Builder clearLongElements() {
        longElements_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }

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

      private akka.protobuf.RepeatedFieldBuilder<
          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();
          super.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.protobuf.RepeatedFieldBuilder<
          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.protobuf.RepeatedFieldBuilder<
              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) == 0x00000020),
                  getParentForChildren(),
                  isClean());
          otherElements_ = null;
        }
        return otherElementsBuilder_;
      }

      // repeated string actorRefElements = 7;
      private akka.protobuf.LazyStringList actorRefElements_ = akka.protobuf.LazyStringArrayList.EMPTY;
      private void ensureActorRefElementsIsMutable() {
        if (!((bitField0_ & 0x00000040) == 0x00000040)) {
          actorRefElements_ = new akka.protobuf.LazyStringArrayList(actorRefElements_);
          bitField0_ |= 0x00000040;
         }
      }
      /**
       * <code>repeated string actorRefElements = 7;</code>
       *
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       */
      public java.util.List<java.lang.String>
          getActorRefElementsList() {
        return java.util.Collections.unmodifiableList(actorRefElements_);
      }
      /**
       * <code>repeated string actorRefElements = 7;</code>
       *
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       */
      public int getActorRefElementsCount() {
        return actorRefElements_.size();
      }
      /**
       * <code>repeated string actorRefElements = 7;</code>
       *
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       */
      public java.lang.String getActorRefElements(int index) {
        return actorRefElements_.get(index);
      }
      /**
       * <code>repeated string actorRefElements = 7;</code>
       *
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       */
      public akka.protobuf.ByteString
          getActorRefElementsBytes(int index) {
        return actorRefElements_.getByteString(index);
      }
      /**
       * <code>repeated string actorRefElements = 7;</code>
       *
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       */
      public Builder setActorRefElements(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureActorRefElementsIsMutable();
        actorRefElements_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string actorRefElements = 7;</code>
       *
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       */
      public Builder addActorRefElements(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureActorRefElementsIsMutable();
        actorRefElements_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string actorRefElements = 7;</code>
       *
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       */
      public Builder addAllActorRefElements(
          java.lang.Iterable<java.lang.String> values) {
        ensureActorRefElementsIsMutable();
        super.addAll(values, actorRefElements_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string actorRefElements = 7;</code>
       *
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       */
      public Builder clearActorRefElements() {
        actorRefElements_ = akka.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000040);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string actorRefElements = 7;</code>
       *
       * <pre>
       * added in Akka 2.5.14
       * </pre>
       */
      public Builder addActorRefElementsBytes(
          akka.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureActorRefElementsIsMutable();
        actorRefElements_.add(value);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.ORSet)
    }

    static {
      defaultInstance = new ORSet(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ORSet)
  }

  public interface ORSetDeltaGroupOrBuilder
      extends akka.protobuf.MessageOrBuilder {

    // repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;
    /**
     * <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.protobuf.GeneratedMessage
      implements ORSetDeltaGroupOrBuilder {
    // Use ORSetDeltaGroup.newBuilder() to construct.
    private ORSetDeltaGroup(akka.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ORSetDeltaGroup(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ORSetDeltaGroup defaultInstance;
    public static ORSetDeltaGroup getDefaultInstance() {
      return defaultInstance;
    }

    public ORSetDeltaGroup getDefaultInstanceForType() {
      return defaultInstance;
    }

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

    protected akka.protobuf.GeneratedMessage.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 static akka.protobuf.Parser<ORSetDeltaGroup> PARSER =
        new akka.protobuf.AbstractParser<ORSetDeltaGroup>() {
      public ORSetDeltaGroup parsePartialFrom(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        return new ORSetDeltaGroup(input, extensionRegistry);
      }
    };

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

    public interface EntryOrBuilder
        extends akka.protobuf.MessageOrBuilder {

      // required .akka.cluster.ddata.ORSetDeltaOp operation = 1;
      /**
       * <code>required .akka.cluster.ddata.ORSetDeltaOp operation = 1;</code>
       */
      boolean hasOperation();
      /**
       * <code>required .akka.cluster.ddata.ORSetDeltaOp operation = 1;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp getOperation();

      // required .akka.cluster.ddata.ORSet underlying = 2;
      /**
       * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
       */
      boolean hasUnderlying();
      /**
       * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
       */
      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.protobuf.GeneratedMessage
        implements EntryOrBuilder {
      // Use Entry.newBuilder() to construct.
      private Entry(akka.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private Entry(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final Entry defaultInstance;
      public static Entry getDefaultInstance() {
        return defaultInstance;
      }

      public Entry getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final akka.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final akka.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private Entry(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        akka.protobuf.UnknownFieldSet.Builder unknownFields =
            akka.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                int rawValue = input.readEnum();
                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_ = value;
                }
                break;
              }
              case 18: {
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder subBuilder = null;
                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                  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;
              }
            }
          }
        } catch (akka.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSetDeltaGroup_Entry_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.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);
      }

      public static akka.protobuf.Parser<Entry> PARSER =
          new akka.protobuf.AbstractParser<Entry>() {
        public Entry parsePartialFrom(
            akka.protobuf.CodedInputStream input,
            akka.protobuf.ExtensionRegistryLite extensionRegistry)
            throws akka.protobuf.InvalidProtocolBufferException {
          return new Entry(input, extensionRegistry);
        }
      };

      @java.lang.Override
      public akka.protobuf.Parser<Entry> getParserForType() {
        return PARSER;
      }

      private int bitField0_;
      // required .akka.cluster.ddata.ORSetDeltaOp operation = 1;
      public static final int OPERATION_FIELD_NUMBER = 1;
      private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp operation_;
      /**
       * <code>required .akka.cluster.ddata.ORSetDeltaOp operation = 1;</code>
       */
      public boolean hasOperation() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required .akka.cluster.ddata.ORSetDeltaOp operation = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp getOperation() {
        return operation_;
      }

      // required .akka.cluster.ddata.ORSet underlying = 2;
      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>
       */
      public boolean hasUnderlying() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getUnderlying() {
        return underlying_;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getUnderlyingOrBuilder() {
        return underlying_;
      }

      private void initFields() {
        operation_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp.Add;
        underlying_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        if (!hasOperation()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasUnderlying()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getUnderlying().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(akka.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeEnum(1, operation_.getNumber());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(2, underlying_);
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += akka.protobuf.CodedOutputStream
            .computeEnumSize(1, operation_.getNumber());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += akka.protobuf.CodedOutputStream
            .computeMessageSize(2, underlying_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry parseFrom(
          akka.protobuf.ByteString data)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry parseFrom(
          akka.protobuf.ByteString data,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry parseFrom(byte[] data)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry parseFrom(
          byte[] data,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.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 PARSER.parseFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry parseFrom(
          java.io.InputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry parseFrom(
          akka.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry parseFrom(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.Entry prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          akka.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.ORSetDeltaGroup.Entry}
       */
      public static final class Builder extends
          akka.protobuf.GeneratedMessage.Builder<Builder>
         implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup.EntryOrBuilder {
        public static final akka.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSetDeltaGroup_Entry_descriptor;
        }

        protected akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getUnderlyingFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          operation_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp.Add;
          bitField0_ = (bitField0_ & ~0x00000001);
          if (underlyingBuilder_ == null) {
            underlying_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
          } else {
            underlyingBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public akka.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSetDeltaGroup_Entry_descriptor;
        }

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

        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;
        }

        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) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.operation_ = operation_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (underlyingBuilder_ == null) {
            result.underlying_ = underlying_;
          } else {
            result.underlying_ = underlyingBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(akka.protobuf.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.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          if (!hasOperation()) {
            
            return false;
          }
          if (!hasUnderlying()) {
            
            return false;
          }
          if (!getUnderlying().isInitialized()) {
            
            return false;
          }
          return true;
        }

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

        // required .akka.cluster.ddata.ORSetDeltaOp operation = 1;
        private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp operation_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp.Add;
        /**
         * <code>required .akka.cluster.ddata.ORSetDeltaOp operation = 1;</code>
         */
        public boolean hasOperation() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>required .akka.cluster.ddata.ORSetDeltaOp operation = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp getOperation() {
          return operation_;
        }
        /**
         * <code>required .akka.cluster.ddata.ORSetDeltaOp operation = 1;</code>
         */
        public Builder setOperation(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000001;
          operation_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.ORSetDeltaOp operation = 1;</code>
         */
        public Builder clearOperation() {
          bitField0_ = (bitField0_ & ~0x00000001);
          operation_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaOp.Add;
          onChanged();
          return this;
        }

        // required .akka.cluster.ddata.ORSet underlying = 2;
        private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet underlying_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
        private akka.protobuf.SingleFieldBuilder<
            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>
         */
        public boolean hasUnderlying() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getUnderlying() {
          if (underlyingBuilder_ == null) {
            return 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) == 0x00000002) &&
                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_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
            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_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         */
        private akka.protobuf.SingleFieldBuilder<
            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.protobuf.SingleFieldBuilder<
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder>(
                    underlying_,
                    getParentForChildren(),
                    isClean());
            underlying_ = null;
          }
          return underlyingBuilder_;
        }

        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.ORSetDeltaGroup.Entry)
      }

      static {
        defaultInstance = new Entry(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ORSetDeltaGroup.Entry)
    }

    // repeated .akka.cluster.ddata.ORSetDeltaGroup.Entry entries = 1;
    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 void initFields() {
      entries_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      for (int i = 0; i < getEntriesCount(); i++) {
        if (!getEntries(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(akka.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < entries_.size(); i++) {
        output.writeMessage(1, entries_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < entries_.size(); i++) {
        size += akka.protobuf.CodedOutputStream
          .computeMessageSize(1, entries_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup parseFrom(
        akka.protobuf.ByteString data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup parseFrom(
        akka.protobuf.ByteString data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup parseFrom(byte[] data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup parseFrom(
        byte[] data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.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 PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup parseFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup parseFrom(
        akka.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup parseFrom(
        akka.protobuf.CodedInputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroup prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.ORSetDeltaGroup}
     */
    public static final class Builder extends
        akka.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetDeltaGroupOrBuilder {
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSetDeltaGroup_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getEntriesFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (entriesBuilder_ == null) {
          entries_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          entriesBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public akka.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORSetDeltaGroup_descriptor;
      }

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

      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;
      }

      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) == 0x00000001)) {
            entries_ = java.util.Collections.unmodifiableList(entries_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.entries_ = entries_;
        } else {
          result.entries_ = entriesBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder mergeFrom(akka.protobuf.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.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getEntriesFieldBuilder() : null;
            } else {
              entriesBuilder_.addAllMessages(other.entries_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        for (int i = 0; i < getEntriesCount(); i++) {
          if (!getEntries(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }

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

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

      private akka.protobuf.RepeatedFieldBuilder<
          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();
          super.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.protobuf.RepeatedFieldBuilder<
          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.protobuf.RepeatedFieldBuilder<
              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) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          entries_ = null;
        }
        return entriesBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.ORSetDeltaGroup)
    }

    static {
      defaultInstance = new ORSetDeltaGroup(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ORSetDeltaGroup)
  }

  public interface FlagOrBuilder
      extends akka.protobuf.MessageOrBuilder {

    // required bool enabled = 1;
    /**
     * <code>required bool enabled = 1;</code>
     */
    boolean hasEnabled();
    /**
     * <code>required bool enabled = 1;</code>
     */
    boolean getEnabled();
  }
  /**
   * Protobuf type {@code akka.cluster.ddata.Flag}
   */
  public static final class Flag extends
      akka.protobuf.GeneratedMessage
      implements FlagOrBuilder {
    // Use Flag.newBuilder() to construct.
    private Flag(akka.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private Flag(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final Flag defaultInstance;
    public static Flag getDefaultInstance() {
      return defaultInstance;
    }

    public Flag getDefaultInstanceForType() {
      return defaultInstance;
    }

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

    protected akka.protobuf.GeneratedMessage.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);
    }

    public static akka.protobuf.Parser<Flag> PARSER =
        new akka.protobuf.AbstractParser<Flag>() {
      public Flag parsePartialFrom(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        return new Flag(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // required bool enabled = 1;
    public static final int ENABLED_FIELD_NUMBER = 1;
    private boolean enabled_;
    /**
     * <code>required bool enabled = 1;</code>
     */
    public boolean hasEnabled() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required bool enabled = 1;</code>
     */
    public boolean getEnabled() {
      return enabled_;
    }

    private void initFields() {
      enabled_ = false;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasEnabled()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(akka.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(1, enabled_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += akka.protobuf.CodedOutputStream
          .computeBoolSize(1, enabled_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag parseFrom(
        akka.protobuf.ByteString data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag parseFrom(
        akka.protobuf.ByteString data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag parseFrom(byte[] data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag parseFrom(
        byte[] data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.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 PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag parseFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag parseFrom(
        akka.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag parseFrom(
        akka.protobuf.CodedInputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.Flag prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.Flag}
     */
    public static final class Builder extends
        akka.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.FlagOrBuilder {
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_Flag_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        enabled_ = false;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public akka.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_Flag_descriptor;
      }

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

      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;
      }

      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) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.enabled_ = enabled_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(akka.protobuf.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.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasEnabled()) {
          
          return false;
        }
        return true;
      }

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

      // required bool enabled = 1;
      private boolean enabled_ ;
      /**
       * <code>required bool enabled = 1;</code>
       */
      public boolean hasEnabled() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required bool enabled = 1;</code>
       */
      public boolean getEnabled() {
        return enabled_;
      }
      /**
       * <code>required bool enabled = 1;</code>
       */
      public Builder setEnabled(boolean value) {
        bitField0_ |= 0x00000001;
        enabled_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bool enabled = 1;</code>
       */
      public Builder clearEnabled() {
        bitField0_ = (bitField0_ & ~0x00000001);
        enabled_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.Flag)
    }

    static {
      defaultInstance = new Flag(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.Flag)
  }

  public interface LWWRegisterOrBuilder
      extends akka.protobuf.MessageOrBuilder {

    // required sint64 timestamp = 1;
    /**
     * <code>required sint64 timestamp = 1;</code>
     */
    boolean hasTimestamp();
    /**
     * <code>required sint64 timestamp = 1;</code>
     */
    long getTimestamp();

    // required .akka.cluster.ddata.UniqueAddress node = 2;
    /**
     * <code>required .akka.cluster.ddata.UniqueAddress node = 2;</code>
     */
    boolean hasNode();
    /**
     * <code>required .akka.cluster.ddata.UniqueAddress node = 2;</code>
     */
    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();

    // required .akka.cluster.ddata.OtherMessage state = 3;
    /**
     * <code>required .akka.cluster.ddata.OtherMessage state = 3;</code>
     */
    boolean hasState();
    /**
     * <code>required .akka.cluster.ddata.OtherMessage state = 3;</code>
     */
    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.protobuf.GeneratedMessage
      implements LWWRegisterOrBuilder {
    // Use LWWRegister.newBuilder() to construct.
    private LWWRegister(akka.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private LWWRegister(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final LWWRegister defaultInstance;
    public static LWWRegister getDefaultInstance() {
      return defaultInstance;
    }

    public LWWRegister getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final akka.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final akka.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private LWWRegister(
        akka.protobuf.CodedInputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      akka.protobuf.UnknownFieldSet.Builder unknownFields =
          akka.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                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) == 0x00000002)) {
                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) == 0x00000004)) {
                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;
            }
          }
        }
      } catch (akka.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWRegister_descriptor;
    }

    protected akka.protobuf.GeneratedMessage.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);
    }

    public static akka.protobuf.Parser<LWWRegister> PARSER =
        new akka.protobuf.AbstractParser<LWWRegister>() {
      public LWWRegister parsePartialFrom(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        return new LWWRegister(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // required sint64 timestamp = 1;
    public static final int TIMESTAMP_FIELD_NUMBER = 1;
    private long timestamp_;
    /**
     * <code>required sint64 timestamp = 1;</code>
     */
    public boolean hasTimestamp() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required sint64 timestamp = 1;</code>
     */
    public long getTimestamp() {
      return timestamp_;
    }

    // required .akka.cluster.ddata.UniqueAddress node = 2;
    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>
     */
    public boolean hasNode() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>required .akka.cluster.ddata.UniqueAddress node = 2;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getNode() {
      return node_;
    }
    /**
     * <code>required .akka.cluster.ddata.UniqueAddress node = 2;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getNodeOrBuilder() {
      return node_;
    }

    // required .akka.cluster.ddata.OtherMessage state = 3;
    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>
     */
    public boolean hasState() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>required .akka.cluster.ddata.OtherMessage state = 3;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getState() {
      return state_;
    }
    /**
     * <code>required .akka.cluster.ddata.OtherMessage state = 3;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getStateOrBuilder() {
      return state_;
    }

    private void initFields() {
      timestamp_ = 0L;
      node_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance();
      state_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      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;
    }

    public void writeTo(akka.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeSInt64(1, timestamp_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, node_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, state_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += akka.protobuf.CodedOutputStream
          .computeSInt64Size(1, timestamp_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += akka.protobuf.CodedOutputStream
          .computeMessageSize(2, node_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += akka.protobuf.CodedOutputStream
          .computeMessageSize(3, state_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister parseFrom(
        akka.protobuf.ByteString data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister parseFrom(
        akka.protobuf.ByteString data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister parseFrom(byte[] data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister parseFrom(
        byte[] data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.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 PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister parseFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister parseFrom(
        akka.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister parseFrom(
        akka.protobuf.CodedInputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.LWWRegister}
     */
    public static final class Builder extends
        akka.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegisterOrBuilder {
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWRegister_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getNodeFieldBuilder();
          getStateFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        timestamp_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (nodeBuilder_ == null) {
          node_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance();
        } else {
          nodeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (stateBuilder_ == null) {
          state_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
        } else {
          stateBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public akka.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWRegister_descriptor;
      }

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

      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;
      }

      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) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.timestamp_ = timestamp_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (nodeBuilder_ == null) {
          result.node_ = node_;
        } else {
          result.node_ = nodeBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (stateBuilder_ == null) {
          result.state_ = state_;
        } else {
          result.state_ = stateBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(akka.protobuf.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.getUnknownFields());
        return this;
      }

      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;
      }

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

      // required sint64 timestamp = 1;
      private long timestamp_ ;
      /**
       * <code>required sint64 timestamp = 1;</code>
       */
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required sint64 timestamp = 1;</code>
       */
      public long getTimestamp() {
        return timestamp_;
      }
      /**
       * <code>required sint64 timestamp = 1;</code>
       */
      public Builder setTimestamp(long value) {
        bitField0_ |= 0x00000001;
        timestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required sint64 timestamp = 1;</code>
       */
      public Builder clearTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000001);
        timestamp_ = 0L;
        onChanged();
        return this;
      }

      // required .akka.cluster.ddata.UniqueAddress node = 2;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress node_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance();
      private akka.protobuf.SingleFieldBuilder<
          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>
       */
      public boolean hasNode() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required .akka.cluster.ddata.UniqueAddress node = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getNode() {
        if (nodeBuilder_ == null) {
          return 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) == 0x00000002) &&
              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_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance();
          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_;
        }
      }
      /**
       * <code>required .akka.cluster.ddata.UniqueAddress node = 2;</code>
       */
      private akka.protobuf.SingleFieldBuilder<
          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.protobuf.SingleFieldBuilder<
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder>(
                  node_,
                  getParentForChildren(),
                  isClean());
          node_ = null;
        }
        return nodeBuilder_;
      }

      // required .akka.cluster.ddata.OtherMessage state = 3;
      private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage state_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
      private akka.protobuf.SingleFieldBuilder<
          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>
       */
      public boolean hasState() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage state = 3;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getState() {
        if (stateBuilder_ == null) {
          return 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) == 0x00000004) &&
              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_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
          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_;
        }
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage state = 3;</code>
       */
      private akka.protobuf.SingleFieldBuilder<
          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.protobuf.SingleFieldBuilder<
              akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                  state_,
                  getParentForChildren(),
                  isClean());
          state_ = null;
        }
        return stateBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.LWWRegister)
    }

    static {
      defaultInstance = new LWWRegister(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.LWWRegister)
  }

  public interface GCounterOrBuilder
      extends akka.protobuf.MessageOrBuilder {

    // repeated .akka.cluster.ddata.GCounter.Entry entries = 1;
    /**
     * <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.protobuf.GeneratedMessage
      implements GCounterOrBuilder {
    // Use GCounter.newBuilder() to construct.
    private GCounter(akka.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private GCounter(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final GCounter defaultInstance;
    public static GCounter getDefaultInstance() {
      return defaultInstance;
    }

    public GCounter getDefaultInstanceForType() {
      return defaultInstance;
    }

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

    protected akka.protobuf.GeneratedMessage.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 static akka.protobuf.Parser<GCounter> PARSER =
        new akka.protobuf.AbstractParser<GCounter>() {
      public GCounter parsePartialFrom(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        return new GCounter(input, extensionRegistry);
      }
    };

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

    public interface EntryOrBuilder
        extends akka.protobuf.MessageOrBuilder {

      // required .akka.cluster.ddata.UniqueAddress node = 1;
      /**
       * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
       */
      boolean hasNode();
      /**
       * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
       */
      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();

      // required bytes value = 2;
      /**
       * <code>required bytes value = 2;</code>
       */
      boolean hasValue();
      /**
       * <code>required bytes value = 2;</code>
       */
      akka.protobuf.ByteString getValue();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.GCounter.Entry}
     */
    public static final class Entry extends
        akka.protobuf.GeneratedMessage
        implements EntryOrBuilder {
      // Use Entry.newBuilder() to construct.
      private Entry(akka.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private Entry(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final Entry defaultInstance;
      public static Entry getDefaultInstance() {
        return defaultInstance;
      }

      public Entry getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final akka.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final akka.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private Entry(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        akka.protobuf.UnknownFieldSet.Builder unknownFields =
            akka.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder subBuilder = null;
                if (((bitField0_ & 0x00000001) == 0x00000001)) {
                  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;
              }
            }
          }
        } catch (akka.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GCounter_Entry_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.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);
      }

      public static akka.protobuf.Parser<Entry> PARSER =
          new akka.protobuf.AbstractParser<Entry>() {
        public Entry parsePartialFrom(
            akka.protobuf.CodedInputStream input,
            akka.protobuf.ExtensionRegistryLite extensionRegistry)
            throws akka.protobuf.InvalidProtocolBufferException {
          return new Entry(input, extensionRegistry);
        }
      };

      @java.lang.Override
      public akka.protobuf.Parser<Entry> getParserForType() {
        return PARSER;
      }

      private int bitField0_;
      // required .akka.cluster.ddata.UniqueAddress node = 1;
      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>
       */
      public boolean hasNode() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getNode() {
        return node_;
      }
      /**
       * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder getNodeOrBuilder() {
        return node_;
      }

      // required bytes value = 2;
      public static final int VALUE_FIELD_NUMBER = 2;
      private akka.protobuf.ByteString value_;
      /**
       * <code>required bytes value = 2;</code>
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required bytes value = 2;</code>
       */
      public akka.protobuf.ByteString getValue() {
        return value_;
      }

      private void initFields() {
        node_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance();
        value_ = akka.protobuf.ByteString.EMPTY;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        if (!hasNode()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasValue()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getNode().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(akka.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeMessage(1, node_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(2, value_);
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += akka.protobuf.CodedOutputStream
            .computeMessageSize(1, node_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += akka.protobuf.CodedOutputStream
            .computeBytesSize(2, value_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry parseFrom(
          akka.protobuf.ByteString data)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry parseFrom(
          akka.protobuf.ByteString data,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry parseFrom(byte[] data)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry parseFrom(
          byte[] data,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.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 PARSER.parseFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry parseFrom(
          java.io.InputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry parseFrom(
          akka.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry parseFrom(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Entry prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          akka.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.GCounter.Entry}
       */
      public static final class Builder extends
          akka.protobuf.GeneratedMessage.Builder<Builder>
         implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.EntryOrBuilder {
        public static final akka.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GCounter_Entry_descriptor;
        }

        protected akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getNodeFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          if (nodeBuilder_ == null) {
            node_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance();
          } else {
            nodeBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          value_ = akka.protobuf.ByteString.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public akka.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GCounter_Entry_descriptor;
        }

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

        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;
        }

        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) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (nodeBuilder_ == null) {
            result.node_ = node_;
          } else {
            result.node_ = nodeBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.value_ = value_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(akka.protobuf.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.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          if (!hasNode()) {
            
            return false;
          }
          if (!hasValue()) {
            
            return false;
          }
          if (!getNode().isInitialized()) {
            
            return false;
          }
          return true;
        }

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

        // required .akka.cluster.ddata.UniqueAddress node = 1;
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress node_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance();
        private akka.protobuf.SingleFieldBuilder<
            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>
         */
        public boolean hasNode() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress getNode() {
          if (nodeBuilder_ == null) {
            return 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) == 0x00000001) &&
                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_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.getDefaultInstance();
            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_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.UniqueAddress node = 1;</code>
         */
        private akka.protobuf.SingleFieldBuilder<
            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.protobuf.SingleFieldBuilder<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddress.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.UniqueAddressOrBuilder>(
                    node_,
                    getParentForChildren(),
                    isClean());
            node_ = null;
          }
          return nodeBuilder_;
        }

        // required bytes value = 2;
        private akka.protobuf.ByteString value_ = akka.protobuf.ByteString.EMPTY;
        /**
         * <code>required bytes value = 2;</code>
         */
        public boolean hasValue() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>required bytes value = 2;</code>
         */
        public akka.protobuf.ByteString getValue() {
          return value_;
        }
        /**
         * <code>required bytes value = 2;</code>
         */
        public Builder setValue(akka.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
          value_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required bytes value = 2;</code>
         */
        public Builder clearValue() {
          bitField0_ = (bitField0_ & ~0x00000002);
          value_ = getDefaultInstance().getValue();
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.GCounter.Entry)
      }

      static {
        defaultInstance = new Entry(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.GCounter.Entry)
    }

    // repeated .akka.cluster.ddata.GCounter.Entry entries = 1;
    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 void initFields() {
      entries_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      for (int i = 0; i < getEntriesCount(); i++) {
        if (!getEntries(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(akka.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < entries_.size(); i++) {
        output.writeMessage(1, entries_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < entries_.size(); i++) {
        size += akka.protobuf.CodedOutputStream
          .computeMessageSize(1, entries_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter parseFrom(
        akka.protobuf.ByteString data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter parseFrom(
        akka.protobuf.ByteString data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter parseFrom(byte[] data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter parseFrom(
        byte[] data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.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 PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter parseFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter parseFrom(
        akka.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter parseFrom(
        akka.protobuf.CodedInputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.GCounter}
     */
    public static final class Builder extends
        akka.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounterOrBuilder {
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GCounter_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getEntriesFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (entriesBuilder_ == null) {
          entries_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          entriesBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public akka.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_GCounter_descriptor;
      }

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

      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;
      }

      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) == 0x00000001)) {
            entries_ = java.util.Collections.unmodifiableList(entries_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.entries_ = entries_;
        } else {
          result.entries_ = entriesBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder mergeFrom(akka.protobuf.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.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getEntriesFieldBuilder() : null;
            } else {
              entriesBuilder_.addAllMessages(other.entries_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        for (int i = 0; i < getEntriesCount(); i++) {
          if (!getEntries(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }

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

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

      private akka.protobuf.RepeatedFieldBuilder<
          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();
          super.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.protobuf.RepeatedFieldBuilder<
          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.protobuf.RepeatedFieldBuilder<
              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) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          entries_ = null;
        }
        return entriesBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.GCounter)
    }

    static {
      defaultInstance = new GCounter(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.GCounter)
  }

  public interface PNCounterOrBuilder
      extends akka.protobuf.MessageOrBuilder {

    // required .akka.cluster.ddata.GCounter increments = 1;
    /**
     * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
     */
    boolean hasIncrements();
    /**
     * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
     */
    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();

    // required .akka.cluster.ddata.GCounter decrements = 2;
    /**
     * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
     */
    boolean hasDecrements();
    /**
     * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
     */
    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.protobuf.GeneratedMessage
      implements PNCounterOrBuilder {
    // Use PNCounter.newBuilder() to construct.
    private PNCounter(akka.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private PNCounter(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final PNCounter defaultInstance;
    public static PNCounter getDefaultInstance() {
      return defaultInstance;
    }

    public PNCounter getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final akka.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final akka.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private PNCounter(
        akka.protobuf.CodedInputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      akka.protobuf.UnknownFieldSet.Builder unknownFields =
          akka.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                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) == 0x00000002)) {
                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;
            }
          }
        }
      } catch (akka.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounter_descriptor;
    }

    protected akka.protobuf.GeneratedMessage.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);
    }

    public static akka.protobuf.Parser<PNCounter> PARSER =
        new akka.protobuf.AbstractParser<PNCounter>() {
      public PNCounter parsePartialFrom(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        return new PNCounter(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // required .akka.cluster.ddata.GCounter increments = 1;
    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>
     */
    public boolean hasIncrements() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter getIncrements() {
      return increments_;
    }
    /**
     * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounterOrBuilder getIncrementsOrBuilder() {
      return increments_;
    }

    // required .akka.cluster.ddata.GCounter decrements = 2;
    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>
     */
    public boolean hasDecrements() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter getDecrements() {
      return decrements_;
    }
    /**
     * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounterOrBuilder getDecrementsOrBuilder() {
      return decrements_;
    }

    private void initFields() {
      increments_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.getDefaultInstance();
      decrements_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      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;
    }

    public void writeTo(akka.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, increments_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, decrements_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += akka.protobuf.CodedOutputStream
          .computeMessageSize(1, increments_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += akka.protobuf.CodedOutputStream
          .computeMessageSize(2, decrements_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter parseFrom(
        akka.protobuf.ByteString data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter parseFrom(
        akka.protobuf.ByteString data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter parseFrom(byte[] data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter parseFrom(
        byte[] data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.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 PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter parseFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter parseFrom(
        akka.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter parseFrom(
        akka.protobuf.CodedInputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.PNCounter}
     */
    public static final class Builder extends
        akka.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterOrBuilder {
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounter_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getIncrementsFieldBuilder();
          getDecrementsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (incrementsBuilder_ == null) {
          increments_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.getDefaultInstance();
        } else {
          incrementsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (decrementsBuilder_ == null) {
          decrements_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.getDefaultInstance();
        } else {
          decrementsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public akka.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounter_descriptor;
      }

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

      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;
      }

      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) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (incrementsBuilder_ == null) {
          result.increments_ = increments_;
        } else {
          result.increments_ = incrementsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (decrementsBuilder_ == null) {
          result.decrements_ = decrements_;
        } else {
          result.decrements_ = decrementsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(akka.protobuf.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.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasIncrements()) {
          
          return false;
        }
        if (!hasDecrements()) {
          
          return false;
        }
        if (!getIncrements().isInitialized()) {
          
          return false;
        }
        if (!getDecrements().isInitialized()) {
          
          return false;
        }
        return true;
      }

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

      // required .akka.cluster.ddata.GCounter increments = 1;
      private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter increments_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.getDefaultInstance();
      private akka.protobuf.SingleFieldBuilder<
          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>
       */
      public boolean hasIncrements() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter getIncrements() {
        if (incrementsBuilder_ == null) {
          return 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) == 0x00000001) &&
              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_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.getDefaultInstance();
          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_;
        }
      }
      /**
       * <code>required .akka.cluster.ddata.GCounter increments = 1;</code>
       */
      private akka.protobuf.SingleFieldBuilder<
          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.protobuf.SingleFieldBuilder<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounterOrBuilder>(
                  increments_,
                  getParentForChildren(),
                  isClean());
          increments_ = null;
        }
        return incrementsBuilder_;
      }

      // required .akka.cluster.ddata.GCounter decrements = 2;
      private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter decrements_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.getDefaultInstance();
      private akka.protobuf.SingleFieldBuilder<
          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>
       */
      public boolean hasDecrements() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter getDecrements() {
        if (decrementsBuilder_ == null) {
          return 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) == 0x00000002) &&
              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_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.getDefaultInstance();
          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_;
        }
      }
      /**
       * <code>required .akka.cluster.ddata.GCounter decrements = 2;</code>
       */
      private akka.protobuf.SingleFieldBuilder<
          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.protobuf.SingleFieldBuilder<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounter.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.GCounterOrBuilder>(
                  decrements_,
                  getParentForChildren(),
                  isClean());
          decrements_ = null;
        }
        return decrementsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.PNCounter)
    }

    static {
      defaultInstance = new PNCounter(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.PNCounter)
  }

  public interface ORMapOrBuilder
      extends akka.protobuf.MessageOrBuilder {

    // required .akka.cluster.ddata.ORSet keys = 1;
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    boolean hasKeys();
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    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();

    // repeated .akka.cluster.ddata.ORMap.Entry entries = 2;
    /**
     * <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.protobuf.GeneratedMessage
      implements ORMapOrBuilder {
    // Use ORMap.newBuilder() to construct.
    private ORMap(akka.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ORMap(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ORMap defaultInstance;
    public static ORMap getDefaultInstance() {
      return defaultInstance;
    }

    public ORMap getDefaultInstanceForType() {
      return defaultInstance;
    }

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

    protected akka.protobuf.GeneratedMessage.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 static akka.protobuf.Parser<ORMap> PARSER =
        new akka.protobuf.AbstractParser<ORMap>() {
      public ORMap parsePartialFrom(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        return new ORMap(input, extensionRegistry);
      }
    };

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

    public interface EntryOrBuilder
        extends akka.protobuf.MessageOrBuilder {

      // optional string stringKey = 1;
      /**
       * <code>optional string stringKey = 1;</code>
       */
      boolean hasStringKey();
      /**
       * <code>optional string stringKey = 1;</code>
       */
      java.lang.String getStringKey();
      /**
       * <code>optional string stringKey = 1;</code>
       */
      akka.protobuf.ByteString
          getStringKeyBytes();

      // required .akka.cluster.ddata.OtherMessage value = 2;
      /**
       * <code>required .akka.cluster.ddata.OtherMessage value = 2;</code>
       */
      boolean hasValue();
      /**
       * <code>required .akka.cluster.ddata.OtherMessage value = 2;</code>
       */
      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();

      // optional sint32 intKey = 3;
      /**
       * <code>optional sint32 intKey = 3;</code>
       */
      boolean hasIntKey();
      /**
       * <code>optional sint32 intKey = 3;</code>
       */
      int getIntKey();

      // optional sint64 longKey = 4;
      /**
       * <code>optional sint64 longKey = 4;</code>
       */
      boolean hasLongKey();
      /**
       * <code>optional sint64 longKey = 4;</code>
       */
      long getLongKey();

      // optional .akka.cluster.ddata.OtherMessage otherKey = 5;
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      boolean hasOtherKey();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      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.protobuf.GeneratedMessage
        implements EntryOrBuilder {
      // Use Entry.newBuilder() to construct.
      private Entry(akka.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private Entry(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final Entry defaultInstance;
      public static Entry getDefaultInstance() {
        return defaultInstance;
      }

      public Entry getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final akka.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final akka.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private Entry(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        akka.protobuf.UnknownFieldSet.Builder unknownFields =
            akka.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                stringKey_ = input.readBytes();
                break;
              }
              case 18: {
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder subBuilder = null;
                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                  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) == 0x00000010)) {
                  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;
              }
            }
          }
        } catch (akka.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMap_Entry_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.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);
      }

      public static akka.protobuf.Parser<Entry> PARSER =
          new akka.protobuf.AbstractParser<Entry>() {
        public Entry parsePartialFrom(
            akka.protobuf.CodedInputStream input,
            akka.protobuf.ExtensionRegistryLite extensionRegistry)
            throws akka.protobuf.InvalidProtocolBufferException {
          return new Entry(input, extensionRegistry);
        }
      };

      @java.lang.Override
      public akka.protobuf.Parser<Entry> getParserForType() {
        return PARSER;
      }

      private int bitField0_;
      // optional string stringKey = 1;
      public static final int STRINGKEY_FIELD_NUMBER = 1;
      private java.lang.Object stringKey_;
      /**
       * <code>optional string stringKey = 1;</code>
       */
      public boolean hasStringKey() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string stringKey = 1;</code>
       */
      public java.lang.String getStringKey() {
        java.lang.Object ref = stringKey_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          akka.protobuf.ByteString bs = 
              (akka.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            stringKey_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string stringKey = 1;</code>
       */
      public akka.protobuf.ByteString
          getStringKeyBytes() {
        java.lang.Object ref = stringKey_;
        if (ref instanceof java.lang.String) {
          akka.protobuf.ByteString b = 
              akka.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          stringKey_ = b;
          return b;
        } else {
          return (akka.protobuf.ByteString) ref;
        }
      }

      // required .akka.cluster.ddata.OtherMessage value = 2;
      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>
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage value = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getValue() {
        return value_;
      }
      /**
       * <code>required .akka.cluster.ddata.OtherMessage value = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getValueOrBuilder() {
        return value_;
      }

      // optional sint32 intKey = 3;
      public static final int INTKEY_FIELD_NUMBER = 3;
      private int intKey_;
      /**
       * <code>optional sint32 intKey = 3;</code>
       */
      public boolean hasIntKey() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional sint32 intKey = 3;</code>
       */
      public int getIntKey() {
        return intKey_;
      }

      // optional sint64 longKey = 4;
      public static final int LONGKEY_FIELD_NUMBER = 4;
      private long longKey_;
      /**
       * <code>optional sint64 longKey = 4;</code>
       */
      public boolean hasLongKey() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional sint64 longKey = 4;</code>
       */
      public long getLongKey() {
        return longKey_;
      }

      // optional .akka.cluster.ddata.OtherMessage otherKey = 5;
      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>
       */
      public boolean hasOtherKey() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey() {
        return otherKey_;
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherKeyOrBuilder() {
        return otherKey_;
      }

      private void initFields() {
        stringKey_ = "";
        value_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
        intKey_ = 0;
        longKey_ = 0L;
        otherKey_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        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;
      }

      public void writeTo(akka.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getStringKeyBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(2, value_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeSInt32(3, intKey_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeSInt64(4, longKey_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          output.writeMessage(5, otherKey_);
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += akka.protobuf.CodedOutputStream
            .computeBytesSize(1, getStringKeyBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += akka.protobuf.CodedOutputStream
            .computeMessageSize(2, value_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += akka.protobuf.CodedOutputStream
            .computeSInt32Size(3, intKey_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += akka.protobuf.CodedOutputStream
            .computeSInt64Size(4, longKey_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          size += akka.protobuf.CodedOutputStream
            .computeMessageSize(5, otherKey_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry parseFrom(
          akka.protobuf.ByteString data)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry parseFrom(
          akka.protobuf.ByteString data,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry parseFrom(byte[] data)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry parseFrom(
          byte[] data,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.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 PARSER.parseFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry parseFrom(
          java.io.InputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry parseFrom(
          akka.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry parseFrom(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.Entry prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          akka.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.ORMap.Entry}
       */
      public static final class Builder extends
          akka.protobuf.GeneratedMessage.Builder<Builder>
         implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap.EntryOrBuilder {
        public static final akka.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMap_Entry_descriptor;
        }

        protected akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getValueFieldBuilder();
            getOtherKeyFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          stringKey_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          if (valueBuilder_ == null) {
            value_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
          } else {
            valueBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          intKey_ = 0;
          bitField0_ = (bitField0_ & ~0x00000004);
          longKey_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000008);
          if (otherKeyBuilder_ == null) {
            otherKey_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
          } else {
            otherKeyBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public akka.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMap_Entry_descriptor;
        }

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

        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;
        }

        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) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.stringKey_ = stringKey_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (valueBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = valueBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.intKey_ = intKey_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.longKey_ = longKey_;
          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
            to_bitField0_ |= 0x00000010;
          }
          if (otherKeyBuilder_ == null) {
            result.otherKey_ = otherKey_;
          } else {
            result.otherKey_ = otherKeyBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(akka.protobuf.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.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          if (!hasValue()) {
            
            return false;
          }
          if (!getValue().isInitialized()) {
            
            return false;
          }
          if (hasOtherKey()) {
            if (!getOtherKey().isInitialized()) {
              
              return false;
            }
          }
          return true;
        }

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

        // optional string stringKey = 1;
        private java.lang.Object stringKey_ = "";
        /**
         * <code>optional string stringKey = 1;</code>
         */
        public boolean hasStringKey() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional string stringKey = 1;</code>
         */
        public java.lang.String getStringKey() {
          java.lang.Object ref = stringKey_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((akka.protobuf.ByteString) ref)
                .toStringUtf8();
            stringKey_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string stringKey = 1;</code>
         */
        public akka.protobuf.ByteString
            getStringKeyBytes() {
          java.lang.Object ref = stringKey_;
          if (ref instanceof String) {
            akka.protobuf.ByteString b = 
                akka.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            stringKey_ = b;
            return b;
          } else {
            return (akka.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>optional string stringKey = 1;</code>
         */
        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>
         */
        public Builder clearStringKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          stringKey_ = getDefaultInstance().getStringKey();
          onChanged();
          return this;
        }
        /**
         * <code>optional string stringKey = 1;</code>
         */
        public Builder setStringKeyBytes(
            akka.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          stringKey_ = value;
          onChanged();
          return this;
        }

        // required .akka.cluster.ddata.OtherMessage value = 2;
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
        private akka.protobuf.SingleFieldBuilder<
            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>
         */
        public boolean hasValue() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage value = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getValue() {
          if (valueBuilder_ == null) {
            return 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) == 0x00000002) &&
                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_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
            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_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.OtherMessage value = 2;</code>
         */
        private akka.protobuf.SingleFieldBuilder<
            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.protobuf.SingleFieldBuilder<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    value_,
                    getParentForChildren(),
                    isClean());
            value_ = null;
          }
          return valueBuilder_;
        }

        // optional sint32 intKey = 3;
        private int intKey_ ;
        /**
         * <code>optional sint32 intKey = 3;</code>
         */
        public boolean hasIntKey() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         */
        public int getIntKey() {
          return intKey_;
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         */
        public Builder setIntKey(int value) {
          bitField0_ |= 0x00000004;
          intKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         */
        public Builder clearIntKey() {
          bitField0_ = (bitField0_ & ~0x00000004);
          intKey_ = 0;
          onChanged();
          return this;
        }

        // optional sint64 longKey = 4;
        private long longKey_ ;
        /**
         * <code>optional sint64 longKey = 4;</code>
         */
        public boolean hasLongKey() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         */
        public long getLongKey() {
          return longKey_;
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         */
        public Builder setLongKey(long value) {
          bitField0_ |= 0x00000008;
          longKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         */
        public Builder clearLongKey() {
          bitField0_ = (bitField0_ & ~0x00000008);
          longKey_ = 0L;
          onChanged();
          return this;
        }

        // optional .akka.cluster.ddata.OtherMessage otherKey = 5;
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage otherKey_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
        private akka.protobuf.SingleFieldBuilder<
            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>
         */
        public boolean hasOtherKey() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey() {
          if (otherKeyBuilder_ == null) {
            return 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) == 0x00000010) &&
                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_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
            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_;
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        private akka.protobuf.SingleFieldBuilder<
            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.protobuf.SingleFieldBuilder<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    otherKey_,
                    getParentForChildren(),
                    isClean());
            otherKey_ = null;
          }
          return otherKeyBuilder_;
        }

        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.ORMap.Entry)
      }

      static {
        defaultInstance = new Entry(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ORMap.Entry)
    }

    private int bitField0_;
    // required .akka.cluster.ddata.ORSet keys = 1;
    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>
     */
    public boolean hasKeys() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getKeys() {
      return keys_;
    }
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getKeysOrBuilder() {
      return keys_;
    }

    // repeated .akka.cluster.ddata.ORMap.Entry entries = 2;
    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 void initFields() {
      keys_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
      entries_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      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;
    }

    public void writeTo(akka.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, keys_);
      }
      for (int i = 0; i < entries_.size(); i++) {
        output.writeMessage(2, entries_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += akka.protobuf.CodedOutputStream
          .computeMessageSize(1, keys_);
      }
      for (int i = 0; i < entries_.size(); i++) {
        size += akka.protobuf.CodedOutputStream
          .computeMessageSize(2, entries_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap parseFrom(
        akka.protobuf.ByteString data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap parseFrom(
        akka.protobuf.ByteString data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap parseFrom(byte[] data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap parseFrom(
        byte[] data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.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 PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap parseFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap parseFrom(
        akka.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap parseFrom(
        akka.protobuf.CodedInputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMap prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.ORMap}
     */
    public static final class Builder extends
        akka.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapOrBuilder {
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMap_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getKeysFieldBuilder();
          getEntriesFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (keysBuilder_ == null) {
          keys_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
        } else {
          keysBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (entriesBuilder_ == null) {
          entries_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          entriesBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public akka.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMap_descriptor;
      }

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

      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;
      }

      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) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (keysBuilder_ == null) {
          result.keys_ = keys_;
        } else {
          result.keys_ = keysBuilder_.build();
        }
        if (entriesBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            entries_ = java.util.Collections.unmodifiableList(entries_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.entries_ = entries_;
        } else {
          result.entries_ = entriesBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(akka.protobuf.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.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getEntriesFieldBuilder() : null;
            } else {
              entriesBuilder_.addAllMessages(other.entries_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      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;
      }

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

      // required .akka.cluster.ddata.ORSet keys = 1;
      private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet keys_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
      private akka.protobuf.SingleFieldBuilder<
          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>
       */
      public boolean hasKeys() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getKeys() {
        if (keysBuilder_ == null) {
          return 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) == 0x00000001) &&
              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_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
          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_;
        }
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      private akka.protobuf.SingleFieldBuilder<
          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.protobuf.SingleFieldBuilder<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder>(
                  keys_,
                  getParentForChildren(),
                  isClean());
          keys_ = null;
        }
        return keysBuilder_;
      }

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

      private akka.protobuf.RepeatedFieldBuilder<
          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();
          super.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.protobuf.RepeatedFieldBuilder<
          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.protobuf.RepeatedFieldBuilder<
              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) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          entries_ = null;
        }
        return entriesBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.ORMap)
    }

    static {
      defaultInstance = new ORMap(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ORMap)
  }

  public interface ORMapDeltaGroupOrBuilder
      extends akka.protobuf.MessageOrBuilder {

    // repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;
    /**
     * <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.protobuf.GeneratedMessage
      implements ORMapDeltaGroupOrBuilder {
    // Use ORMapDeltaGroup.newBuilder() to construct.
    private ORMapDeltaGroup(akka.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ORMapDeltaGroup(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ORMapDeltaGroup defaultInstance;
    public static ORMapDeltaGroup getDefaultInstance() {
      return defaultInstance;
    }

    public ORMapDeltaGroup getDefaultInstanceForType() {
      return defaultInstance;
    }

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

    protected akka.protobuf.GeneratedMessage.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 static akka.protobuf.Parser<ORMapDeltaGroup> PARSER =
        new akka.protobuf.AbstractParser<ORMapDeltaGroup>() {
      public ORMapDeltaGroup parsePartialFrom(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        return new ORMapDeltaGroup(input, extensionRegistry);
      }
    };

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

    public interface MapEntryOrBuilder
        extends akka.protobuf.MessageOrBuilder {

      // optional string stringKey = 1;
      /**
       * <code>optional string stringKey = 1;</code>
       */
      boolean hasStringKey();
      /**
       * <code>optional string stringKey = 1;</code>
       */
      java.lang.String getStringKey();
      /**
       * <code>optional string stringKey = 1;</code>
       */
      akka.protobuf.ByteString
          getStringKeyBytes();

      // optional .akka.cluster.ddata.OtherMessage value = 2;
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage value = 2;</code>
       */
      boolean hasValue();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage value = 2;</code>
       */
      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();

      // optional sint32 intKey = 3;
      /**
       * <code>optional sint32 intKey = 3;</code>
       */
      boolean hasIntKey();
      /**
       * <code>optional sint32 intKey = 3;</code>
       */
      int getIntKey();

      // optional sint64 longKey = 4;
      /**
       * <code>optional sint64 longKey = 4;</code>
       */
      boolean hasLongKey();
      /**
       * <code>optional sint64 longKey = 4;</code>
       */
      long getLongKey();

      // optional .akka.cluster.ddata.OtherMessage otherKey = 5;
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      boolean hasOtherKey();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      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.protobuf.GeneratedMessage
        implements MapEntryOrBuilder {
      // Use MapEntry.newBuilder() to construct.
      private MapEntry(akka.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private MapEntry(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final MapEntry defaultInstance;
      public static MapEntry getDefaultInstance() {
        return defaultInstance;
      }

      public MapEntry getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final akka.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final akka.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private MapEntry(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        akka.protobuf.UnknownFieldSet.Builder unknownFields =
            akka.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                stringKey_ = input.readBytes();
                break;
              }
              case 18: {
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder subBuilder = null;
                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                  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) == 0x00000010)) {
                  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;
              }
            }
          }
        } catch (akka.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_MapEntry_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.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);
      }

      public static akka.protobuf.Parser<MapEntry> PARSER =
          new akka.protobuf.AbstractParser<MapEntry>() {
        public MapEntry parsePartialFrom(
            akka.protobuf.CodedInputStream input,
            akka.protobuf.ExtensionRegistryLite extensionRegistry)
            throws akka.protobuf.InvalidProtocolBufferException {
          return new MapEntry(input, extensionRegistry);
        }
      };

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

      private int bitField0_;
      // optional string stringKey = 1;
      public static final int STRINGKEY_FIELD_NUMBER = 1;
      private java.lang.Object stringKey_;
      /**
       * <code>optional string stringKey = 1;</code>
       */
      public boolean hasStringKey() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string stringKey = 1;</code>
       */
      public java.lang.String getStringKey() {
        java.lang.Object ref = stringKey_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          akka.protobuf.ByteString bs = 
              (akka.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            stringKey_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string stringKey = 1;</code>
       */
      public akka.protobuf.ByteString
          getStringKeyBytes() {
        java.lang.Object ref = stringKey_;
        if (ref instanceof java.lang.String) {
          akka.protobuf.ByteString b = 
              akka.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          stringKey_ = b;
          return b;
        } else {
          return (akka.protobuf.ByteString) ref;
        }
      }

      // optional .akka.cluster.ddata.OtherMessage value = 2;
      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>
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage value = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getValue() {
        return value_;
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage value = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getValueOrBuilder() {
        return value_;
      }

      // optional sint32 intKey = 3;
      public static final int INTKEY_FIELD_NUMBER = 3;
      private int intKey_;
      /**
       * <code>optional sint32 intKey = 3;</code>
       */
      public boolean hasIntKey() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional sint32 intKey = 3;</code>
       */
      public int getIntKey() {
        return intKey_;
      }

      // optional sint64 longKey = 4;
      public static final int LONGKEY_FIELD_NUMBER = 4;
      private long longKey_;
      /**
       * <code>optional sint64 longKey = 4;</code>
       */
      public boolean hasLongKey() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional sint64 longKey = 4;</code>
       */
      public long getLongKey() {
        return longKey_;
      }

      // optional .akka.cluster.ddata.OtherMessage otherKey = 5;
      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>
       */
      public boolean hasOtherKey() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey() {
        return otherKey_;
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherKeyOrBuilder() {
        return otherKey_;
      }

      private void initFields() {
        stringKey_ = "";
        value_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
        intKey_ = 0;
        longKey_ = 0L;
        otherKey_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        if (hasValue()) {
          if (!getValue().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasOtherKey()) {
          if (!getOtherKey().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(akka.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getStringKeyBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(2, value_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeSInt32(3, intKey_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeSInt64(4, longKey_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          output.writeMessage(5, otherKey_);
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += akka.protobuf.CodedOutputStream
            .computeBytesSize(1, getStringKeyBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += akka.protobuf.CodedOutputStream
            .computeMessageSize(2, value_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += akka.protobuf.CodedOutputStream
            .computeSInt32Size(3, intKey_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += akka.protobuf.CodedOutputStream
            .computeSInt64Size(4, longKey_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          size += akka.protobuf.CodedOutputStream
            .computeMessageSize(5, otherKey_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry parseFrom(
          akka.protobuf.ByteString data)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry parseFrom(
          akka.protobuf.ByteString data,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry parseFrom(byte[] data)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry parseFrom(
          byte[] data,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.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 PARSER.parseFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry parseFrom(
          java.io.InputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry parseFrom(
          akka.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry parseFrom(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntry prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          akka.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.ORMapDeltaGroup.MapEntry}
       */
      public static final class Builder extends
          akka.protobuf.GeneratedMessage.Builder<Builder>
         implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.MapEntryOrBuilder {
        public static final akka.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_MapEntry_descriptor;
        }

        protected akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getValueFieldBuilder();
            getOtherKeyFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          stringKey_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          if (valueBuilder_ == null) {
            value_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
          } else {
            valueBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          intKey_ = 0;
          bitField0_ = (bitField0_ & ~0x00000004);
          longKey_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000008);
          if (otherKeyBuilder_ == null) {
            otherKey_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
          } else {
            otherKeyBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public akka.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_MapEntry_descriptor;
        }

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

        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;
        }

        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) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.stringKey_ = stringKey_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (valueBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = valueBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.intKey_ = intKey_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.longKey_ = longKey_;
          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
            to_bitField0_ |= 0x00000010;
          }
          if (otherKeyBuilder_ == null) {
            result.otherKey_ = otherKey_;
          } else {
            result.otherKey_ = otherKeyBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(akka.protobuf.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.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          if (hasValue()) {
            if (!getValue().isInitialized()) {
              
              return false;
            }
          }
          if (hasOtherKey()) {
            if (!getOtherKey().isInitialized()) {
              
              return false;
            }
          }
          return true;
        }

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

        // optional string stringKey = 1;
        private java.lang.Object stringKey_ = "";
        /**
         * <code>optional string stringKey = 1;</code>
         */
        public boolean hasStringKey() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional string stringKey = 1;</code>
         */
        public java.lang.String getStringKey() {
          java.lang.Object ref = stringKey_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((akka.protobuf.ByteString) ref)
                .toStringUtf8();
            stringKey_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string stringKey = 1;</code>
         */
        public akka.protobuf.ByteString
            getStringKeyBytes() {
          java.lang.Object ref = stringKey_;
          if (ref instanceof String) {
            akka.protobuf.ByteString b = 
                akka.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            stringKey_ = b;
            return b;
          } else {
            return (akka.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>optional string stringKey = 1;</code>
         */
        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>
         */
        public Builder clearStringKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          stringKey_ = getDefaultInstance().getStringKey();
          onChanged();
          return this;
        }
        /**
         * <code>optional string stringKey = 1;</code>
         */
        public Builder setStringKeyBytes(
            akka.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          stringKey_ = value;
          onChanged();
          return this;
        }

        // optional .akka.cluster.ddata.OtherMessage value = 2;
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage value_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
        private akka.protobuf.SingleFieldBuilder<
            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>
         */
        public boolean hasValue() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage value = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getValue() {
          if (valueBuilder_ == null) {
            return 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) == 0x00000002) &&
                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_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
            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_;
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage value = 2;</code>
         */
        private akka.protobuf.SingleFieldBuilder<
            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.protobuf.SingleFieldBuilder<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    value_,
                    getParentForChildren(),
                    isClean());
            value_ = null;
          }
          return valueBuilder_;
        }

        // optional sint32 intKey = 3;
        private int intKey_ ;
        /**
         * <code>optional sint32 intKey = 3;</code>
         */
        public boolean hasIntKey() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         */
        public int getIntKey() {
          return intKey_;
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         */
        public Builder setIntKey(int value) {
          bitField0_ |= 0x00000004;
          intKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         */
        public Builder clearIntKey() {
          bitField0_ = (bitField0_ & ~0x00000004);
          intKey_ = 0;
          onChanged();
          return this;
        }

        // optional sint64 longKey = 4;
        private long longKey_ ;
        /**
         * <code>optional sint64 longKey = 4;</code>
         */
        public boolean hasLongKey() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         */
        public long getLongKey() {
          return longKey_;
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         */
        public Builder setLongKey(long value) {
          bitField0_ |= 0x00000008;
          longKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         */
        public Builder clearLongKey() {
          bitField0_ = (bitField0_ & ~0x00000008);
          longKey_ = 0L;
          onChanged();
          return this;
        }

        // optional .akka.cluster.ddata.OtherMessage otherKey = 5;
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage otherKey_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
        private akka.protobuf.SingleFieldBuilder<
            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>
         */
        public boolean hasOtherKey() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey() {
          if (otherKeyBuilder_ == null) {
            return 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) == 0x00000010) &&
                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_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
            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_;
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        private akka.protobuf.SingleFieldBuilder<
            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.protobuf.SingleFieldBuilder<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    otherKey_,
                    getParentForChildren(),
                    isClean());
            otherKey_ = null;
          }
          return otherKeyBuilder_;
        }

        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.ORMapDeltaGroup.MapEntry)
      }

      static {
        defaultInstance = new MapEntry(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ORMapDeltaGroup.MapEntry)
    }

    public interface EntryOrBuilder
        extends akka.protobuf.MessageOrBuilder {

      // required .akka.cluster.ddata.ORMapDeltaOp operation = 1;
      /**
       * <code>required .akka.cluster.ddata.ORMapDeltaOp operation = 1;</code>
       */
      boolean hasOperation();
      /**
       * <code>required .akka.cluster.ddata.ORMapDeltaOp operation = 1;</code>
       */
      akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp getOperation();

      // required .akka.cluster.ddata.ORSet underlying = 2;
      /**
       * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
       */
      boolean hasUnderlying();
      /**
       * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
       */
      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();

      // required sint32 zeroTag = 3;
      /**
       * <code>required sint32 zeroTag = 3;</code>
       */
      boolean hasZeroTag();
      /**
       * <code>required sint32 zeroTag = 3;</code>
       */
      int getZeroTag();

      // repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;
      /**
       * <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.protobuf.GeneratedMessage
        implements EntryOrBuilder {
      // Use Entry.newBuilder() to construct.
      private Entry(akka.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private Entry(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final Entry defaultInstance;
      public static Entry getDefaultInstance() {
        return defaultInstance;
      }

      public Entry getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final akka.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final akka.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private Entry(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        akka.protobuf.UnknownFieldSet.Builder unknownFields =
            akka.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                int rawValue = input.readEnum();
                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_ = value;
                }
                break;
              }
              case 18: {
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder subBuilder = null;
                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                  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) == 0x00000008)) {
                  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;
              }
            }
          }
        } catch (akka.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
            entryData_ = java.util.Collections.unmodifiableList(entryData_);
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_Entry_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.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);
      }

      public static akka.protobuf.Parser<Entry> PARSER =
          new akka.protobuf.AbstractParser<Entry>() {
        public Entry parsePartialFrom(
            akka.protobuf.CodedInputStream input,
            akka.protobuf.ExtensionRegistryLite extensionRegistry)
            throws akka.protobuf.InvalidProtocolBufferException {
          return new Entry(input, extensionRegistry);
        }
      };

      @java.lang.Override
      public akka.protobuf.Parser<Entry> getParserForType() {
        return PARSER;
      }

      private int bitField0_;
      // required .akka.cluster.ddata.ORMapDeltaOp operation = 1;
      public static final int OPERATION_FIELD_NUMBER = 1;
      private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp operation_;
      /**
       * <code>required .akka.cluster.ddata.ORMapDeltaOp operation = 1;</code>
       */
      public boolean hasOperation() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required .akka.cluster.ddata.ORMapDeltaOp operation = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp getOperation() {
        return operation_;
      }

      // required .akka.cluster.ddata.ORSet underlying = 2;
      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>
       */
      public boolean hasUnderlying() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getUnderlying() {
        return underlying_;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getUnderlyingOrBuilder() {
        return underlying_;
      }

      // required sint32 zeroTag = 3;
      public static final int ZEROTAG_FIELD_NUMBER = 3;
      private int zeroTag_;
      /**
       * <code>required sint32 zeroTag = 3;</code>
       */
      public boolean hasZeroTag() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>required sint32 zeroTag = 3;</code>
       */
      public int getZeroTag() {
        return zeroTag_;
      }

      // repeated .akka.cluster.ddata.ORMapDeltaGroup.MapEntry entryData = 4;
      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 void initFields() {
        operation_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp.ORMapPut;
        underlying_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
        zeroTag_ = 0;
        entryData_ = java.util.Collections.emptyList();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        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;
      }

      public void writeTo(akka.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeEnum(1, operation_.getNumber());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(2, underlying_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeSInt32(3, zeroTag_);
        }
        for (int i = 0; i < entryData_.size(); i++) {
          output.writeMessage(4, entryData_.get(i));
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += akka.protobuf.CodedOutputStream
            .computeEnumSize(1, operation_.getNumber());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += akka.protobuf.CodedOutputStream
            .computeMessageSize(2, underlying_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += akka.protobuf.CodedOutputStream
            .computeSInt32Size(3, zeroTag_);
        }
        for (int i = 0; i < entryData_.size(); i++) {
          size += akka.protobuf.CodedOutputStream
            .computeMessageSize(4, entryData_.get(i));
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry parseFrom(
          akka.protobuf.ByteString data)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry parseFrom(
          akka.protobuf.ByteString data,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry parseFrom(byte[] data)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry parseFrom(
          byte[] data,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.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 PARSER.parseFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry parseFrom(
          java.io.InputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry parseFrom(
          akka.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry parseFrom(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.Entry prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          akka.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.ORMapDeltaGroup.Entry}
       */
      public static final class Builder extends
          akka.protobuf.GeneratedMessage.Builder<Builder>
         implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup.EntryOrBuilder {
        public static final akka.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_Entry_descriptor;
        }

        protected akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getUnderlyingFieldBuilder();
            getEntryDataFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          operation_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp.ORMapPut;
          bitField0_ = (bitField0_ & ~0x00000001);
          if (underlyingBuilder_ == null) {
            underlying_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
          } 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;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public akka.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_Entry_descriptor;
        }

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

        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;
        }

        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) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.operation_ = operation_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (underlyingBuilder_ == null) {
            result.underlying_ = underlying_;
          } else {
            result.underlying_ = underlyingBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.zeroTag_ = zeroTag_;
          if (entryDataBuilder_ == null) {
            if (((bitField0_ & 0x00000008) == 0x00000008)) {
              entryData_ = java.util.Collections.unmodifiableList(entryData_);
              bitField0_ = (bitField0_ & ~0x00000008);
            }
            result.entryData_ = entryData_;
          } else {
            result.entryData_ = entryDataBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(akka.protobuf.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.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getEntryDataFieldBuilder() : null;
              } else {
                entryDataBuilder_.addAllMessages(other.entryData_);
              }
            }
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        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;
        }

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

        // required .akka.cluster.ddata.ORMapDeltaOp operation = 1;
        private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp operation_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp.ORMapPut;
        /**
         * <code>required .akka.cluster.ddata.ORMapDeltaOp operation = 1;</code>
         */
        public boolean hasOperation() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>required .akka.cluster.ddata.ORMapDeltaOp operation = 1;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp getOperation() {
          return operation_;
        }
        /**
         * <code>required .akka.cluster.ddata.ORMapDeltaOp operation = 1;</code>
         */
        public Builder setOperation(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000001;
          operation_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required .akka.cluster.ddata.ORMapDeltaOp operation = 1;</code>
         */
        public Builder clearOperation() {
          bitField0_ = (bitField0_ & ~0x00000001);
          operation_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaOp.ORMapPut;
          onChanged();
          return this;
        }

        // required .akka.cluster.ddata.ORSet underlying = 2;
        private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet underlying_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
        private akka.protobuf.SingleFieldBuilder<
            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>
         */
        public boolean hasUnderlying() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getUnderlying() {
          if (underlyingBuilder_ == null) {
            return 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) == 0x00000002) &&
                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_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
            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_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet underlying = 2;</code>
         */
        private akka.protobuf.SingleFieldBuilder<
            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.protobuf.SingleFieldBuilder<
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder>(
                    underlying_,
                    getParentForChildren(),
                    isClean());
            underlying_ = null;
          }
          return underlyingBuilder_;
        }

        // required sint32 zeroTag = 3;
        private int zeroTag_ ;
        /**
         * <code>required sint32 zeroTag = 3;</code>
         */
        public boolean hasZeroTag() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>required sint32 zeroTag = 3;</code>
         */
        public int getZeroTag() {
          return zeroTag_;
        }
        /**
         * <code>required sint32 zeroTag = 3;</code>
         */
        public Builder setZeroTag(int value) {
          bitField0_ |= 0x00000004;
          zeroTag_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required sint32 zeroTag = 3;</code>
         */
        public Builder clearZeroTag() {
          bitField0_ = (bitField0_ & ~0x00000004);
          zeroTag_ = 0;
          onChanged();
          return this;
        }

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

        private akka.protobuf.RepeatedFieldBuilder<
            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();
            super.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.protobuf.RepeatedFieldBuilder<
            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.protobuf.RepeatedFieldBuilder<
                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) == 0x00000008),
                    getParentForChildren(),
                    isClean());
            entryData_ = null;
          }
          return entryDataBuilder_;
        }

        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.ORMapDeltaGroup.Entry)
      }

      static {
        defaultInstance = new Entry(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ORMapDeltaGroup.Entry)
    }

    // repeated .akka.cluster.ddata.ORMapDeltaGroup.Entry entries = 1;
    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 void initFields() {
      entries_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      for (int i = 0; i < getEntriesCount(); i++) {
        if (!getEntries(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(akka.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < entries_.size(); i++) {
        output.writeMessage(1, entries_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < entries_.size(); i++) {
        size += akka.protobuf.CodedOutputStream
          .computeMessageSize(1, entries_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup parseFrom(
        akka.protobuf.ByteString data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup parseFrom(
        akka.protobuf.ByteString data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup parseFrom(byte[] data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup parseFrom(
        byte[] data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.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 PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup parseFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup parseFrom(
        akka.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup parseFrom(
        akka.protobuf.CodedInputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroup prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.ORMapDeltaGroup}
     */
    public static final class Builder extends
        akka.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMapDeltaGroupOrBuilder {
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getEntriesFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (entriesBuilder_ == null) {
          entries_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          entriesBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public akka.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMapDeltaGroup_descriptor;
      }

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

      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;
      }

      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) == 0x00000001)) {
            entries_ = java.util.Collections.unmodifiableList(entries_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.entries_ = entries_;
        } else {
          result.entries_ = entriesBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder mergeFrom(akka.protobuf.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.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getEntriesFieldBuilder() : null;
            } else {
              entriesBuilder_.addAllMessages(other.entries_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        for (int i = 0; i < getEntriesCount(); i++) {
          if (!getEntries(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }

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

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

      private akka.protobuf.RepeatedFieldBuilder<
          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();
          super.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.protobuf.RepeatedFieldBuilder<
          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.protobuf.RepeatedFieldBuilder<
              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) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          entries_ = null;
        }
        return entriesBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.ORMapDeltaGroup)
    }

    static {
      defaultInstance = new ORMapDeltaGroup(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ORMapDeltaGroup)
  }

  public interface LWWMapOrBuilder
      extends akka.protobuf.MessageOrBuilder {

    // required .akka.cluster.ddata.ORSet keys = 1;
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    boolean hasKeys();
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    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();

    // repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;
    /**
     * <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.protobuf.GeneratedMessage
      implements LWWMapOrBuilder {
    // Use LWWMap.newBuilder() to construct.
    private LWWMap(akka.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private LWWMap(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final LWWMap defaultInstance;
    public static LWWMap getDefaultInstance() {
      return defaultInstance;
    }

    public LWWMap getDefaultInstanceForType() {
      return defaultInstance;
    }

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

    protected akka.protobuf.GeneratedMessage.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 static akka.protobuf.Parser<LWWMap> PARSER =
        new akka.protobuf.AbstractParser<LWWMap>() {
      public LWWMap parsePartialFrom(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        return new LWWMap(input, extensionRegistry);
      }
    };

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

    public interface EntryOrBuilder
        extends akka.protobuf.MessageOrBuilder {

      // optional string stringKey = 1;
      /**
       * <code>optional string stringKey = 1;</code>
       */
      boolean hasStringKey();
      /**
       * <code>optional string stringKey = 1;</code>
       */
      java.lang.String getStringKey();
      /**
       * <code>optional string stringKey = 1;</code>
       */
      akka.protobuf.ByteString
          getStringKeyBytes();

      // required .akka.cluster.ddata.LWWRegister value = 2;
      /**
       * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
       */
      boolean hasValue();
      /**
       * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
       */
      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();

      // optional sint32 intKey = 3;
      /**
       * <code>optional sint32 intKey = 3;</code>
       */
      boolean hasIntKey();
      /**
       * <code>optional sint32 intKey = 3;</code>
       */
      int getIntKey();

      // optional sint64 longKey = 4;
      /**
       * <code>optional sint64 longKey = 4;</code>
       */
      boolean hasLongKey();
      /**
       * <code>optional sint64 longKey = 4;</code>
       */
      long getLongKey();

      // optional .akka.cluster.ddata.OtherMessage otherKey = 5;
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      boolean hasOtherKey();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      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.protobuf.GeneratedMessage
        implements EntryOrBuilder {
      // Use Entry.newBuilder() to construct.
      private Entry(akka.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private Entry(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final Entry defaultInstance;
      public static Entry getDefaultInstance() {
        return defaultInstance;
      }

      public Entry getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final akka.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final akka.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private Entry(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        akka.protobuf.UnknownFieldSet.Builder unknownFields =
            akka.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                stringKey_ = input.readBytes();
                break;
              }
              case 18: {
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.Builder subBuilder = null;
                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                  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) == 0x00000010)) {
                  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;
              }
            }
          }
        } catch (akka.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWMap_Entry_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.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);
      }

      public static akka.protobuf.Parser<Entry> PARSER =
          new akka.protobuf.AbstractParser<Entry>() {
        public Entry parsePartialFrom(
            akka.protobuf.CodedInputStream input,
            akka.protobuf.ExtensionRegistryLite extensionRegistry)
            throws akka.protobuf.InvalidProtocolBufferException {
          return new Entry(input, extensionRegistry);
        }
      };

      @java.lang.Override
      public akka.protobuf.Parser<Entry> getParserForType() {
        return PARSER;
      }

      private int bitField0_;
      // optional string stringKey = 1;
      public static final int STRINGKEY_FIELD_NUMBER = 1;
      private java.lang.Object stringKey_;
      /**
       * <code>optional string stringKey = 1;</code>
       */
      public boolean hasStringKey() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string stringKey = 1;</code>
       */
      public java.lang.String getStringKey() {
        java.lang.Object ref = stringKey_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          akka.protobuf.ByteString bs = 
              (akka.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            stringKey_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string stringKey = 1;</code>
       */
      public akka.protobuf.ByteString
          getStringKeyBytes() {
        java.lang.Object ref = stringKey_;
        if (ref instanceof java.lang.String) {
          akka.protobuf.ByteString b = 
              akka.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          stringKey_ = b;
          return b;
        } else {
          return (akka.protobuf.ByteString) ref;
        }
      }

      // required .akka.cluster.ddata.LWWRegister value = 2;
      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>
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister getValue() {
        return value_;
      }
      /**
       * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegisterOrBuilder getValueOrBuilder() {
        return value_;
      }

      // optional sint32 intKey = 3;
      public static final int INTKEY_FIELD_NUMBER = 3;
      private int intKey_;
      /**
       * <code>optional sint32 intKey = 3;</code>
       */
      public boolean hasIntKey() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional sint32 intKey = 3;</code>
       */
      public int getIntKey() {
        return intKey_;
      }

      // optional sint64 longKey = 4;
      public static final int LONGKEY_FIELD_NUMBER = 4;
      private long longKey_;
      /**
       * <code>optional sint64 longKey = 4;</code>
       */
      public boolean hasLongKey() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional sint64 longKey = 4;</code>
       */
      public long getLongKey() {
        return longKey_;
      }

      // optional .akka.cluster.ddata.OtherMessage otherKey = 5;
      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>
       */
      public boolean hasOtherKey() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey() {
        return otherKey_;
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherKeyOrBuilder() {
        return otherKey_;
      }

      private void initFields() {
        stringKey_ = "";
        value_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.getDefaultInstance();
        intKey_ = 0;
        longKey_ = 0L;
        otherKey_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        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;
      }

      public void writeTo(akka.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getStringKeyBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(2, value_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeSInt32(3, intKey_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeSInt64(4, longKey_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          output.writeMessage(5, otherKey_);
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += akka.protobuf.CodedOutputStream
            .computeBytesSize(1, getStringKeyBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += akka.protobuf.CodedOutputStream
            .computeMessageSize(2, value_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += akka.protobuf.CodedOutputStream
            .computeSInt32Size(3, intKey_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += akka.protobuf.CodedOutputStream
            .computeSInt64Size(4, longKey_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          size += akka.protobuf.CodedOutputStream
            .computeMessageSize(5, otherKey_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry parseFrom(
          akka.protobuf.ByteString data)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry parseFrom(
          akka.protobuf.ByteString data,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry parseFrom(byte[] data)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry parseFrom(
          byte[] data,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.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 PARSER.parseFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry parseFrom(
          java.io.InputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry parseFrom(
          akka.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry parseFrom(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.Entry prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          akka.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.LWWMap.Entry}
       */
      public static final class Builder extends
          akka.protobuf.GeneratedMessage.Builder<Builder>
         implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap.EntryOrBuilder {
        public static final akka.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWMap_Entry_descriptor;
        }

        protected akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getValueFieldBuilder();
            getOtherKeyFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          stringKey_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          if (valueBuilder_ == null) {
            value_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.getDefaultInstance();
          } else {
            valueBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          intKey_ = 0;
          bitField0_ = (bitField0_ & ~0x00000004);
          longKey_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000008);
          if (otherKeyBuilder_ == null) {
            otherKey_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
          } else {
            otherKeyBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public akka.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWMap_Entry_descriptor;
        }

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

        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;
        }

        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) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.stringKey_ = stringKey_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (valueBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = valueBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.intKey_ = intKey_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.longKey_ = longKey_;
          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
            to_bitField0_ |= 0x00000010;
          }
          if (otherKeyBuilder_ == null) {
            result.otherKey_ = otherKey_;
          } else {
            result.otherKey_ = otherKeyBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(akka.protobuf.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.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          if (!hasValue()) {
            
            return false;
          }
          if (!getValue().isInitialized()) {
            
            return false;
          }
          if (hasOtherKey()) {
            if (!getOtherKey().isInitialized()) {
              
              return false;
            }
          }
          return true;
        }

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

        // optional string stringKey = 1;
        private java.lang.Object stringKey_ = "";
        /**
         * <code>optional string stringKey = 1;</code>
         */
        public boolean hasStringKey() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional string stringKey = 1;</code>
         */
        public java.lang.String getStringKey() {
          java.lang.Object ref = stringKey_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((akka.protobuf.ByteString) ref)
                .toStringUtf8();
            stringKey_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string stringKey = 1;</code>
         */
        public akka.protobuf.ByteString
            getStringKeyBytes() {
          java.lang.Object ref = stringKey_;
          if (ref instanceof String) {
            akka.protobuf.ByteString b = 
                akka.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            stringKey_ = b;
            return b;
          } else {
            return (akka.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>optional string stringKey = 1;</code>
         */
        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>
         */
        public Builder clearStringKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          stringKey_ = getDefaultInstance().getStringKey();
          onChanged();
          return this;
        }
        /**
         * <code>optional string stringKey = 1;</code>
         */
        public Builder setStringKeyBytes(
            akka.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          stringKey_ = value;
          onChanged();
          return this;
        }

        // required .akka.cluster.ddata.LWWRegister value = 2;
        private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister value_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.getDefaultInstance();
        private akka.protobuf.SingleFieldBuilder<
            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>
         */
        public boolean hasValue() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister getValue() {
          if (valueBuilder_ == null) {
            return 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) == 0x00000002) &&
                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_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.getDefaultInstance();
            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_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.LWWRegister value = 2;</code>
         */
        private akka.protobuf.SingleFieldBuilder<
            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.protobuf.SingleFieldBuilder<
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegisterOrBuilder>(
                    value_,
                    getParentForChildren(),
                    isClean());
            value_ = null;
          }
          return valueBuilder_;
        }

        // optional sint32 intKey = 3;
        private int intKey_ ;
        /**
         * <code>optional sint32 intKey = 3;</code>
         */
        public boolean hasIntKey() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         */
        public int getIntKey() {
          return intKey_;
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         */
        public Builder setIntKey(int value) {
          bitField0_ |= 0x00000004;
          intKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         */
        public Builder clearIntKey() {
          bitField0_ = (bitField0_ & ~0x00000004);
          intKey_ = 0;
          onChanged();
          return this;
        }

        // optional sint64 longKey = 4;
        private long longKey_ ;
        /**
         * <code>optional sint64 longKey = 4;</code>
         */
        public boolean hasLongKey() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         */
        public long getLongKey() {
          return longKey_;
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         */
        public Builder setLongKey(long value) {
          bitField0_ |= 0x00000008;
          longKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         */
        public Builder clearLongKey() {
          bitField0_ = (bitField0_ & ~0x00000008);
          longKey_ = 0L;
          onChanged();
          return this;
        }

        // optional .akka.cluster.ddata.OtherMessage otherKey = 5;
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage otherKey_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
        private akka.protobuf.SingleFieldBuilder<
            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>
         */
        public boolean hasOtherKey() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey() {
          if (otherKeyBuilder_ == null) {
            return 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) == 0x00000010) &&
                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_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
            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_;
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        private akka.protobuf.SingleFieldBuilder<
            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.protobuf.SingleFieldBuilder<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    otherKey_,
                    getParentForChildren(),
                    isClean());
            otherKey_ = null;
          }
          return otherKeyBuilder_;
        }

        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.LWWMap.Entry)
      }

      static {
        defaultInstance = new Entry(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.LWWMap.Entry)
    }

    private int bitField0_;
    // required .akka.cluster.ddata.ORSet keys = 1;
    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>
     */
    public boolean hasKeys() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getKeys() {
      return keys_;
    }
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getKeysOrBuilder() {
      return keys_;
    }

    // repeated .akka.cluster.ddata.LWWMap.Entry entries = 2;
    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 void initFields() {
      keys_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
      entries_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      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;
    }

    public void writeTo(akka.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, keys_);
      }
      for (int i = 0; i < entries_.size(); i++) {
        output.writeMessage(2, entries_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += akka.protobuf.CodedOutputStream
          .computeMessageSize(1, keys_);
      }
      for (int i = 0; i < entries_.size(); i++) {
        size += akka.protobuf.CodedOutputStream
          .computeMessageSize(2, entries_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap parseFrom(
        akka.protobuf.ByteString data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap parseFrom(
        akka.protobuf.ByteString data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap parseFrom(byte[] data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap parseFrom(
        byte[] data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.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 PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap parseFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap parseFrom(
        akka.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap parseFrom(
        akka.protobuf.CodedInputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMap prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.LWWMap}
     */
    public static final class Builder extends
        akka.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWMapOrBuilder {
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWMap_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getKeysFieldBuilder();
          getEntriesFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (keysBuilder_ == null) {
          keys_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
        } else {
          keysBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (entriesBuilder_ == null) {
          entries_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          entriesBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public akka.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_LWWMap_descriptor;
      }

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

      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;
      }

      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) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (keysBuilder_ == null) {
          result.keys_ = keys_;
        } else {
          result.keys_ = keysBuilder_.build();
        }
        if (entriesBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            entries_ = java.util.Collections.unmodifiableList(entries_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.entries_ = entries_;
        } else {
          result.entries_ = entriesBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(akka.protobuf.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.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getEntriesFieldBuilder() : null;
            } else {
              entriesBuilder_.addAllMessages(other.entries_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      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;
      }

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

      // required .akka.cluster.ddata.ORSet keys = 1;
      private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet keys_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
      private akka.protobuf.SingleFieldBuilder<
          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>
       */
      public boolean hasKeys() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getKeys() {
        if (keysBuilder_ == null) {
          return 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) == 0x00000001) &&
              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_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
          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_;
        }
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      private akka.protobuf.SingleFieldBuilder<
          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.protobuf.SingleFieldBuilder<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder>(
                  keys_,
                  getParentForChildren(),
                  isClean());
          keys_ = null;
        }
        return keysBuilder_;
      }

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

      private akka.protobuf.RepeatedFieldBuilder<
          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();
          super.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.protobuf.RepeatedFieldBuilder<
          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.protobuf.RepeatedFieldBuilder<
              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) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          entries_ = null;
        }
        return entriesBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.LWWMap)
    }

    static {
      defaultInstance = new LWWMap(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.LWWMap)
  }

  public interface PNCounterMapOrBuilder
      extends akka.protobuf.MessageOrBuilder {

    // required .akka.cluster.ddata.ORSet keys = 1;
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    boolean hasKeys();
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    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();

    // repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;
    /**
     * <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.protobuf.GeneratedMessage
      implements PNCounterMapOrBuilder {
    // Use PNCounterMap.newBuilder() to construct.
    private PNCounterMap(akka.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private PNCounterMap(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final PNCounterMap defaultInstance;
    public static PNCounterMap getDefaultInstance() {
      return defaultInstance;
    }

    public PNCounterMap getDefaultInstanceForType() {
      return defaultInstance;
    }

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

    protected akka.protobuf.GeneratedMessage.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 static akka.protobuf.Parser<PNCounterMap> PARSER =
        new akka.protobuf.AbstractParser<PNCounterMap>() {
      public PNCounterMap parsePartialFrom(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        return new PNCounterMap(input, extensionRegistry);
      }
    };

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

    public interface EntryOrBuilder
        extends akka.protobuf.MessageOrBuilder {

      // optional string stringKey = 1;
      /**
       * <code>optional string stringKey = 1;</code>
       */
      boolean hasStringKey();
      /**
       * <code>optional string stringKey = 1;</code>
       */
      java.lang.String getStringKey();
      /**
       * <code>optional string stringKey = 1;</code>
       */
      akka.protobuf.ByteString
          getStringKeyBytes();

      // required .akka.cluster.ddata.PNCounter value = 2;
      /**
       * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
       */
      boolean hasValue();
      /**
       * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
       */
      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();

      // optional sint32 intKey = 3;
      /**
       * <code>optional sint32 intKey = 3;</code>
       */
      boolean hasIntKey();
      /**
       * <code>optional sint32 intKey = 3;</code>
       */
      int getIntKey();

      // optional sint64 longKey = 4;
      /**
       * <code>optional sint64 longKey = 4;</code>
       */
      boolean hasLongKey();
      /**
       * <code>optional sint64 longKey = 4;</code>
       */
      long getLongKey();

      // optional .akka.cluster.ddata.OtherMessage otherKey = 5;
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      boolean hasOtherKey();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      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.protobuf.GeneratedMessage
        implements EntryOrBuilder {
      // Use Entry.newBuilder() to construct.
      private Entry(akka.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private Entry(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final Entry defaultInstance;
      public static Entry getDefaultInstance() {
        return defaultInstance;
      }

      public Entry getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final akka.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final akka.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private Entry(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        akka.protobuf.UnknownFieldSet.Builder unknownFields =
            akka.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                stringKey_ = input.readBytes();
                break;
              }
              case 18: {
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.Builder subBuilder = null;
                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                  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) == 0x00000010)) {
                  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;
              }
            }
          }
        } catch (akka.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounterMap_Entry_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.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);
      }

      public static akka.protobuf.Parser<Entry> PARSER =
          new akka.protobuf.AbstractParser<Entry>() {
        public Entry parsePartialFrom(
            akka.protobuf.CodedInputStream input,
            akka.protobuf.ExtensionRegistryLite extensionRegistry)
            throws akka.protobuf.InvalidProtocolBufferException {
          return new Entry(input, extensionRegistry);
        }
      };

      @java.lang.Override
      public akka.protobuf.Parser<Entry> getParserForType() {
        return PARSER;
      }

      private int bitField0_;
      // optional string stringKey = 1;
      public static final int STRINGKEY_FIELD_NUMBER = 1;
      private java.lang.Object stringKey_;
      /**
       * <code>optional string stringKey = 1;</code>
       */
      public boolean hasStringKey() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string stringKey = 1;</code>
       */
      public java.lang.String getStringKey() {
        java.lang.Object ref = stringKey_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          akka.protobuf.ByteString bs = 
              (akka.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            stringKey_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string stringKey = 1;</code>
       */
      public akka.protobuf.ByteString
          getStringKeyBytes() {
        java.lang.Object ref = stringKey_;
        if (ref instanceof java.lang.String) {
          akka.protobuf.ByteString b = 
              akka.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          stringKey_ = b;
          return b;
        } else {
          return (akka.protobuf.ByteString) ref;
        }
      }

      // required .akka.cluster.ddata.PNCounter value = 2;
      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>
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter getValue() {
        return value_;
      }
      /**
       * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterOrBuilder getValueOrBuilder() {
        return value_;
      }

      // optional sint32 intKey = 3;
      public static final int INTKEY_FIELD_NUMBER = 3;
      private int intKey_;
      /**
       * <code>optional sint32 intKey = 3;</code>
       */
      public boolean hasIntKey() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional sint32 intKey = 3;</code>
       */
      public int getIntKey() {
        return intKey_;
      }

      // optional sint64 longKey = 4;
      public static final int LONGKEY_FIELD_NUMBER = 4;
      private long longKey_;
      /**
       * <code>optional sint64 longKey = 4;</code>
       */
      public boolean hasLongKey() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional sint64 longKey = 4;</code>
       */
      public long getLongKey() {
        return longKey_;
      }

      // optional .akka.cluster.ddata.OtherMessage otherKey = 5;
      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>
       */
      public boolean hasOtherKey() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey() {
        return otherKey_;
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherKeyOrBuilder() {
        return otherKey_;
      }

      private void initFields() {
        stringKey_ = "";
        value_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.getDefaultInstance();
        intKey_ = 0;
        longKey_ = 0L;
        otherKey_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        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;
      }

      public void writeTo(akka.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getStringKeyBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(2, value_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeSInt32(3, intKey_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeSInt64(4, longKey_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          output.writeMessage(5, otherKey_);
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += akka.protobuf.CodedOutputStream
            .computeBytesSize(1, getStringKeyBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += akka.protobuf.CodedOutputStream
            .computeMessageSize(2, value_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += akka.protobuf.CodedOutputStream
            .computeSInt32Size(3, intKey_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += akka.protobuf.CodedOutputStream
            .computeSInt64Size(4, longKey_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          size += akka.protobuf.CodedOutputStream
            .computeMessageSize(5, otherKey_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry parseFrom(
          akka.protobuf.ByteString data)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry parseFrom(
          akka.protobuf.ByteString data,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry parseFrom(byte[] data)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry parseFrom(
          byte[] data,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.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 PARSER.parseFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry parseFrom(
          java.io.InputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry parseFrom(
          akka.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry parseFrom(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.Entry prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          akka.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.PNCounterMap.Entry}
       */
      public static final class Builder extends
          akka.protobuf.GeneratedMessage.Builder<Builder>
         implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap.EntryOrBuilder {
        public static final akka.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounterMap_Entry_descriptor;
        }

        protected akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getValueFieldBuilder();
            getOtherKeyFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          stringKey_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          if (valueBuilder_ == null) {
            value_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.getDefaultInstance();
          } else {
            valueBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          intKey_ = 0;
          bitField0_ = (bitField0_ & ~0x00000004);
          longKey_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000008);
          if (otherKeyBuilder_ == null) {
            otherKey_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
          } else {
            otherKeyBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public akka.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounterMap_Entry_descriptor;
        }

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

        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;
        }

        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) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.stringKey_ = stringKey_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (valueBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = valueBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.intKey_ = intKey_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.longKey_ = longKey_;
          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
            to_bitField0_ |= 0x00000010;
          }
          if (otherKeyBuilder_ == null) {
            result.otherKey_ = otherKey_;
          } else {
            result.otherKey_ = otherKeyBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(akka.protobuf.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.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          if (!hasValue()) {
            
            return false;
          }
          if (!getValue().isInitialized()) {
            
            return false;
          }
          if (hasOtherKey()) {
            if (!getOtherKey().isInitialized()) {
              
              return false;
            }
          }
          return true;
        }

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

        // optional string stringKey = 1;
        private java.lang.Object stringKey_ = "";
        /**
         * <code>optional string stringKey = 1;</code>
         */
        public boolean hasStringKey() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional string stringKey = 1;</code>
         */
        public java.lang.String getStringKey() {
          java.lang.Object ref = stringKey_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((akka.protobuf.ByteString) ref)
                .toStringUtf8();
            stringKey_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string stringKey = 1;</code>
         */
        public akka.protobuf.ByteString
            getStringKeyBytes() {
          java.lang.Object ref = stringKey_;
          if (ref instanceof String) {
            akka.protobuf.ByteString b = 
                akka.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            stringKey_ = b;
            return b;
          } else {
            return (akka.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>optional string stringKey = 1;</code>
         */
        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>
         */
        public Builder clearStringKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          stringKey_ = getDefaultInstance().getStringKey();
          onChanged();
          return this;
        }
        /**
         * <code>optional string stringKey = 1;</code>
         */
        public Builder setStringKeyBytes(
            akka.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          stringKey_ = value;
          onChanged();
          return this;
        }

        // required .akka.cluster.ddata.PNCounter value = 2;
        private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter value_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.getDefaultInstance();
        private akka.protobuf.SingleFieldBuilder<
            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>
         */
        public boolean hasValue() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter getValue() {
          if (valueBuilder_ == null) {
            return 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) == 0x00000002) &&
                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_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.getDefaultInstance();
            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_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.PNCounter value = 2;</code>
         */
        private akka.protobuf.SingleFieldBuilder<
            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.protobuf.SingleFieldBuilder<
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterOrBuilder>(
                    value_,
                    getParentForChildren(),
                    isClean());
            value_ = null;
          }
          return valueBuilder_;
        }

        // optional sint32 intKey = 3;
        private int intKey_ ;
        /**
         * <code>optional sint32 intKey = 3;</code>
         */
        public boolean hasIntKey() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         */
        public int getIntKey() {
          return intKey_;
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         */
        public Builder setIntKey(int value) {
          bitField0_ |= 0x00000004;
          intKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         */
        public Builder clearIntKey() {
          bitField0_ = (bitField0_ & ~0x00000004);
          intKey_ = 0;
          onChanged();
          return this;
        }

        // optional sint64 longKey = 4;
        private long longKey_ ;
        /**
         * <code>optional sint64 longKey = 4;</code>
         */
        public boolean hasLongKey() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         */
        public long getLongKey() {
          return longKey_;
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         */
        public Builder setLongKey(long value) {
          bitField0_ |= 0x00000008;
          longKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         */
        public Builder clearLongKey() {
          bitField0_ = (bitField0_ & ~0x00000008);
          longKey_ = 0L;
          onChanged();
          return this;
        }

        // optional .akka.cluster.ddata.OtherMessage otherKey = 5;
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage otherKey_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
        private akka.protobuf.SingleFieldBuilder<
            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>
         */
        public boolean hasOtherKey() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey() {
          if (otherKeyBuilder_ == null) {
            return 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) == 0x00000010) &&
                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_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
            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_;
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        private akka.protobuf.SingleFieldBuilder<
            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.protobuf.SingleFieldBuilder<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    otherKey_,
                    getParentForChildren(),
                    isClean());
            otherKey_ = null;
          }
          return otherKeyBuilder_;
        }

        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.PNCounterMap.Entry)
      }

      static {
        defaultInstance = new Entry(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.PNCounterMap.Entry)
    }

    private int bitField0_;
    // required .akka.cluster.ddata.ORSet keys = 1;
    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>
     */
    public boolean hasKeys() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getKeys() {
      return keys_;
    }
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getKeysOrBuilder() {
      return keys_;
    }

    // repeated .akka.cluster.ddata.PNCounterMap.Entry entries = 2;
    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 void initFields() {
      keys_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
      entries_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      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;
    }

    public void writeTo(akka.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, keys_);
      }
      for (int i = 0; i < entries_.size(); i++) {
        output.writeMessage(2, entries_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += akka.protobuf.CodedOutputStream
          .computeMessageSize(1, keys_);
      }
      for (int i = 0; i < entries_.size(); i++) {
        size += akka.protobuf.CodedOutputStream
          .computeMessageSize(2, entries_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap parseFrom(
        akka.protobuf.ByteString data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap parseFrom(
        akka.protobuf.ByteString data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap parseFrom(byte[] data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap parseFrom(
        byte[] data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.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 PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap parseFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap parseFrom(
        akka.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap parseFrom(
        akka.protobuf.CodedInputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMap prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.PNCounterMap}
     */
    public static final class Builder extends
        akka.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounterMapOrBuilder {
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounterMap_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getKeysFieldBuilder();
          getEntriesFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (keysBuilder_ == null) {
          keys_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
        } else {
          keysBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (entriesBuilder_ == null) {
          entries_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          entriesBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public akka.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_PNCounterMap_descriptor;
      }

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

      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;
      }

      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) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (keysBuilder_ == null) {
          result.keys_ = keys_;
        } else {
          result.keys_ = keysBuilder_.build();
        }
        if (entriesBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            entries_ = java.util.Collections.unmodifiableList(entries_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.entries_ = entries_;
        } else {
          result.entries_ = entriesBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(akka.protobuf.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.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getEntriesFieldBuilder() : null;
            } else {
              entriesBuilder_.addAllMessages(other.entries_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      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;
      }

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

      // required .akka.cluster.ddata.ORSet keys = 1;
      private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet keys_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
      private akka.protobuf.SingleFieldBuilder<
          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>
       */
      public boolean hasKeys() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getKeys() {
        if (keysBuilder_ == null) {
          return 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) == 0x00000001) &&
              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_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
          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_;
        }
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      private akka.protobuf.SingleFieldBuilder<
          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.protobuf.SingleFieldBuilder<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder>(
                  keys_,
                  getParentForChildren(),
                  isClean());
          keys_ = null;
        }
        return keysBuilder_;
      }

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

      private akka.protobuf.RepeatedFieldBuilder<
          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();
          super.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.protobuf.RepeatedFieldBuilder<
          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.protobuf.RepeatedFieldBuilder<
              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) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          entries_ = null;
        }
        return entriesBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.PNCounterMap)
    }

    static {
      defaultInstance = new PNCounterMap(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.PNCounterMap)
  }

  public interface ORMultiMapOrBuilder
      extends akka.protobuf.MessageOrBuilder {

    // required .akka.cluster.ddata.ORSet keys = 1;
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    boolean hasKeys();
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    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();

    // repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;
    /**
     * <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);

    // optional bool withValueDeltas = 3;
    /**
     * <code>optional bool withValueDeltas = 3;</code>
     */
    boolean hasWithValueDeltas();
    /**
     * <code>optional bool withValueDeltas = 3;</code>
     */
    boolean getWithValueDeltas();
  }
  /**
   * Protobuf type {@code akka.cluster.ddata.ORMultiMap}
   */
  public static final class ORMultiMap extends
      akka.protobuf.GeneratedMessage
      implements ORMultiMapOrBuilder {
    // Use ORMultiMap.newBuilder() to construct.
    private ORMultiMap(akka.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ORMultiMap(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final ORMultiMap defaultInstance;
    public static ORMultiMap getDefaultInstance() {
      return defaultInstance;
    }

    public ORMultiMap getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final akka.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final akka.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private ORMultiMap(
        akka.protobuf.CodedInputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      akka.protobuf.UnknownFieldSet.Builder unknownFields =
          akka.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                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) == 0x00000002)) {
                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;
            }
          }
        }
      } catch (akka.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          entries_ = java.util.Collections.unmodifiableList(entries_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMultiMap_descriptor;
    }

    protected akka.protobuf.GeneratedMessage.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 static akka.protobuf.Parser<ORMultiMap> PARSER =
        new akka.protobuf.AbstractParser<ORMultiMap>() {
      public ORMultiMap parsePartialFrom(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        return new ORMultiMap(input, extensionRegistry);
      }
    };

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

    public interface EntryOrBuilder
        extends akka.protobuf.MessageOrBuilder {

      // optional string stringKey = 1;
      /**
       * <code>optional string stringKey = 1;</code>
       */
      boolean hasStringKey();
      /**
       * <code>optional string stringKey = 1;</code>
       */
      java.lang.String getStringKey();
      /**
       * <code>optional string stringKey = 1;</code>
       */
      akka.protobuf.ByteString
          getStringKeyBytes();

      // required .akka.cluster.ddata.ORSet value = 2;
      /**
       * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
       */
      boolean hasValue();
      /**
       * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
       */
      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();

      // optional sint32 intKey = 3;
      /**
       * <code>optional sint32 intKey = 3;</code>
       */
      boolean hasIntKey();
      /**
       * <code>optional sint32 intKey = 3;</code>
       */
      int getIntKey();

      // optional sint64 longKey = 4;
      /**
       * <code>optional sint64 longKey = 4;</code>
       */
      boolean hasLongKey();
      /**
       * <code>optional sint64 longKey = 4;</code>
       */
      long getLongKey();

      // optional .akka.cluster.ddata.OtherMessage otherKey = 5;
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      boolean hasOtherKey();
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      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.protobuf.GeneratedMessage
        implements EntryOrBuilder {
      // Use Entry.newBuilder() to construct.
      private Entry(akka.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private Entry(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final Entry defaultInstance;
      public static Entry getDefaultInstance() {
        return defaultInstance;
      }

      public Entry getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final akka.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final akka.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private Entry(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        akka.protobuf.UnknownFieldSet.Builder unknownFields =
            akka.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                stringKey_ = input.readBytes();
                break;
              }
              case 18: {
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder subBuilder = null;
                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                  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) == 0x00000010)) {
                  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;
              }
            }
          }
        } catch (akka.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new akka.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMultiMap_Entry_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.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);
      }

      public static akka.protobuf.Parser<Entry> PARSER =
          new akka.protobuf.AbstractParser<Entry>() {
        public Entry parsePartialFrom(
            akka.protobuf.CodedInputStream input,
            akka.protobuf.ExtensionRegistryLite extensionRegistry)
            throws akka.protobuf.InvalidProtocolBufferException {
          return new Entry(input, extensionRegistry);
        }
      };

      @java.lang.Override
      public akka.protobuf.Parser<Entry> getParserForType() {
        return PARSER;
      }

      private int bitField0_;
      // optional string stringKey = 1;
      public static final int STRINGKEY_FIELD_NUMBER = 1;
      private java.lang.Object stringKey_;
      /**
       * <code>optional string stringKey = 1;</code>
       */
      public boolean hasStringKey() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string stringKey = 1;</code>
       */
      public java.lang.String getStringKey() {
        java.lang.Object ref = stringKey_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          akka.protobuf.ByteString bs = 
              (akka.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            stringKey_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string stringKey = 1;</code>
       */
      public akka.protobuf.ByteString
          getStringKeyBytes() {
        java.lang.Object ref = stringKey_;
        if (ref instanceof java.lang.String) {
          akka.protobuf.ByteString b = 
              akka.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          stringKey_ = b;
          return b;
        } else {
          return (akka.protobuf.ByteString) ref;
        }
      }

      // required .akka.cluster.ddata.ORSet value = 2;
      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>
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getValue() {
        return value_;
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getValueOrBuilder() {
        return value_;
      }

      // optional sint32 intKey = 3;
      public static final int INTKEY_FIELD_NUMBER = 3;
      private int intKey_;
      /**
       * <code>optional sint32 intKey = 3;</code>
       */
      public boolean hasIntKey() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional sint32 intKey = 3;</code>
       */
      public int getIntKey() {
        return intKey_;
      }

      // optional sint64 longKey = 4;
      public static final int LONGKEY_FIELD_NUMBER = 4;
      private long longKey_;
      /**
       * <code>optional sint64 longKey = 4;</code>
       */
      public boolean hasLongKey() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional sint64 longKey = 4;</code>
       */
      public long getLongKey() {
        return longKey_;
      }

      // optional .akka.cluster.ddata.OtherMessage otherKey = 5;
      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>
       */
      public boolean hasOtherKey() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey() {
        return otherKey_;
      }
      /**
       * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder getOtherKeyOrBuilder() {
        return otherKey_;
      }

      private void initFields() {
        stringKey_ = "";
        value_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
        intKey_ = 0;
        longKey_ = 0L;
        otherKey_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        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;
      }

      public void writeTo(akka.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getStringKeyBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(2, value_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeSInt32(3, intKey_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeSInt64(4, longKey_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          output.writeMessage(5, otherKey_);
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += akka.protobuf.CodedOutputStream
            .computeBytesSize(1, getStringKeyBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += akka.protobuf.CodedOutputStream
            .computeMessageSize(2, value_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += akka.protobuf.CodedOutputStream
            .computeSInt32Size(3, intKey_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += akka.protobuf.CodedOutputStream
            .computeSInt64Size(4, longKey_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          size += akka.protobuf.CodedOutputStream
            .computeMessageSize(5, otherKey_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry parseFrom(
          akka.protobuf.ByteString data)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry parseFrom(
          akka.protobuf.ByteString data,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry parseFrom(byte[] data)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry parseFrom(
          byte[] data,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws akka.protobuf.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 PARSER.parseFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry parseFrom(
          java.io.InputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry parseDelimitedFrom(
          java.io.InputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry parseFrom(
          akka.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry parseFrom(
          akka.protobuf.CodedInputStream input,
          akka.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.Entry prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          akka.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code akka.cluster.ddata.ORMultiMap.Entry}
       */
      public static final class Builder extends
          akka.protobuf.GeneratedMessage.Builder<Builder>
         implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap.EntryOrBuilder {
        public static final akka.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMultiMap_Entry_descriptor;
        }

        protected akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getValueFieldBuilder();
            getOtherKeyFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          stringKey_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          if (valueBuilder_ == null) {
            value_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
          } else {
            valueBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          intKey_ = 0;
          bitField0_ = (bitField0_ & ~0x00000004);
          longKey_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000008);
          if (otherKeyBuilder_ == null) {
            otherKey_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
          } else {
            otherKeyBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public akka.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMultiMap_Entry_descriptor;
        }

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

        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;
        }

        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) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.stringKey_ = stringKey_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (valueBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = valueBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.intKey_ = intKey_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.longKey_ = longKey_;
          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
            to_bitField0_ |= 0x00000010;
          }
          if (otherKeyBuilder_ == null) {
            result.otherKey_ = otherKey_;
          } else {
            result.otherKey_ = otherKeyBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(akka.protobuf.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.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          if (!hasValue()) {
            
            return false;
          }
          if (!getValue().isInitialized()) {
            
            return false;
          }
          if (hasOtherKey()) {
            if (!getOtherKey().isInitialized()) {
              
              return false;
            }
          }
          return true;
        }

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

        // optional string stringKey = 1;
        private java.lang.Object stringKey_ = "";
        /**
         * <code>optional string stringKey = 1;</code>
         */
        public boolean hasStringKey() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional string stringKey = 1;</code>
         */
        public java.lang.String getStringKey() {
          java.lang.Object ref = stringKey_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((akka.protobuf.ByteString) ref)
                .toStringUtf8();
            stringKey_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string stringKey = 1;</code>
         */
        public akka.protobuf.ByteString
            getStringKeyBytes() {
          java.lang.Object ref = stringKey_;
          if (ref instanceof String) {
            akka.protobuf.ByteString b = 
                akka.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            stringKey_ = b;
            return b;
          } else {
            return (akka.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>optional string stringKey = 1;</code>
         */
        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>
         */
        public Builder clearStringKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          stringKey_ = getDefaultInstance().getStringKey();
          onChanged();
          return this;
        }
        /**
         * <code>optional string stringKey = 1;</code>
         */
        public Builder setStringKeyBytes(
            akka.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          stringKey_ = value;
          onChanged();
          return this;
        }

        // required .akka.cluster.ddata.ORSet value = 2;
        private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet value_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
        private akka.protobuf.SingleFieldBuilder<
            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>
         */
        public boolean hasValue() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getValue() {
          if (valueBuilder_ == null) {
            return 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) == 0x00000002) &&
                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_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
            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_;
          }
        }
        /**
         * <code>required .akka.cluster.ddata.ORSet value = 2;</code>
         */
        private akka.protobuf.SingleFieldBuilder<
            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.protobuf.SingleFieldBuilder<
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder>(
                    value_,
                    getParentForChildren(),
                    isClean());
            value_ = null;
          }
          return valueBuilder_;
        }

        // optional sint32 intKey = 3;
        private int intKey_ ;
        /**
         * <code>optional sint32 intKey = 3;</code>
         */
        public boolean hasIntKey() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         */
        public int getIntKey() {
          return intKey_;
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         */
        public Builder setIntKey(int value) {
          bitField0_ |= 0x00000004;
          intKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional sint32 intKey = 3;</code>
         */
        public Builder clearIntKey() {
          bitField0_ = (bitField0_ & ~0x00000004);
          intKey_ = 0;
          onChanged();
          return this;
        }

        // optional sint64 longKey = 4;
        private long longKey_ ;
        /**
         * <code>optional sint64 longKey = 4;</code>
         */
        public boolean hasLongKey() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         */
        public long getLongKey() {
          return longKey_;
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         */
        public Builder setLongKey(long value) {
          bitField0_ |= 0x00000008;
          longKey_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional sint64 longKey = 4;</code>
         */
        public Builder clearLongKey() {
          bitField0_ = (bitField0_ & ~0x00000008);
          longKey_ = 0L;
          onChanged();
          return this;
        }

        // optional .akka.cluster.ddata.OtherMessage otherKey = 5;
        private akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage otherKey_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
        private akka.protobuf.SingleFieldBuilder<
            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>
         */
        public boolean hasOtherKey() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        public akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage getOtherKey() {
          if (otherKeyBuilder_ == null) {
            return 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) == 0x00000010) &&
                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_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
            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_;
          }
        }
        /**
         * <code>optional .akka.cluster.ddata.OtherMessage otherKey = 5;</code>
         */
        private akka.protobuf.SingleFieldBuilder<
            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.protobuf.SingleFieldBuilder<
                akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.Builder, akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessageOrBuilder>(
                    otherKey_,
                    getParentForChildren(),
                    isClean());
            otherKey_ = null;
          }
          return otherKeyBuilder_;
        }

        // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.ORMultiMap.Entry)
      }

      static {
        defaultInstance = new Entry(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ORMultiMap.Entry)
    }

    private int bitField0_;
    // required .akka.cluster.ddata.ORSet keys = 1;
    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>
     */
    public boolean hasKeys() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getKeys() {
      return keys_;
    }
    /**
     * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder getKeysOrBuilder() {
      return keys_;
    }

    // repeated .akka.cluster.ddata.ORMultiMap.Entry entries = 2;
    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);
    }

    // optional bool withValueDeltas = 3;
    public static final int WITHVALUEDELTAS_FIELD_NUMBER = 3;
    private boolean withValueDeltas_;
    /**
     * <code>optional bool withValueDeltas = 3;</code>
     */
    public boolean hasWithValueDeltas() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional bool withValueDeltas = 3;</code>
     */
    public boolean getWithValueDeltas() {
      return withValueDeltas_;
    }

    private void initFields() {
      keys_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
      entries_ = java.util.Collections.emptyList();
      withValueDeltas_ = false;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      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;
    }

    public void writeTo(akka.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, keys_);
      }
      for (int i = 0; i < entries_.size(); i++) {
        output.writeMessage(2, entries_.get(i));
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBool(3, withValueDeltas_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += akka.protobuf.CodedOutputStream
          .computeMessageSize(1, keys_);
      }
      for (int i = 0; i < entries_.size(); i++) {
        size += akka.protobuf.CodedOutputStream
          .computeMessageSize(2, entries_.get(i));
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += akka.protobuf.CodedOutputStream
          .computeBoolSize(3, withValueDeltas_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap parseFrom(
        akka.protobuf.ByteString data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap parseFrom(
        akka.protobuf.ByteString data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap parseFrom(byte[] data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap parseFrom(
        byte[] data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.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 PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap parseFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap parseFrom(
        akka.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap parseFrom(
        akka.protobuf.CodedInputStream input,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMap prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.ORMultiMap}
     */
    public static final class Builder extends
        akka.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORMultiMapOrBuilder {
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMultiMap_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getKeysFieldBuilder();
          getEntriesFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (keysBuilder_ == null) {
          keys_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
        } 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;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public akka.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_ORMultiMap_descriptor;
      }

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

      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;
      }

      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) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (keysBuilder_ == null) {
          result.keys_ = keys_;
        } else {
          result.keys_ = keysBuilder_.build();
        }
        if (entriesBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            entries_ = java.util.Collections.unmodifiableList(entries_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.entries_ = entries_;
        } else {
          result.entries_ = entriesBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000002;
        }
        result.withValueDeltas_ = withValueDeltas_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(akka.protobuf.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.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getEntriesFieldBuilder() : null;
            } else {
              entriesBuilder_.addAllMessages(other.entries_);
            }
          }
        }
        if (other.hasWithValueDeltas()) {
          setWithValueDeltas(other.getWithValueDeltas());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      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;
      }

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

      // required .akka.cluster.ddata.ORSet keys = 1;
      private akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet keys_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
      private akka.protobuf.SingleFieldBuilder<
          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>
       */
      public boolean hasKeys() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet getKeys() {
        if (keysBuilder_ == null) {
          return 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) == 0x00000001) &&
              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_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
          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_;
        }
      }
      /**
       * <code>required .akka.cluster.ddata.ORSet keys = 1;</code>
       */
      private akka.protobuf.SingleFieldBuilder<
          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.protobuf.SingleFieldBuilder<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSetOrBuilder>(
                  keys_,
                  getParentForChildren(),
                  isClean());
          keys_ = null;
        }
        return keysBuilder_;
      }

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

      private akka.protobuf.RepeatedFieldBuilder<
          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();
          super.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.protobuf.RepeatedFieldBuilder<
          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.protobuf.RepeatedFieldBuilder<
              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) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          entries_ = null;
        }
        return entriesBuilder_;
      }

      // optional bool withValueDeltas = 3;
      private boolean withValueDeltas_ ;
      /**
       * <code>optional bool withValueDeltas = 3;</code>
       */
      public boolean hasWithValueDeltas() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional bool withValueDeltas = 3;</code>
       */
      public boolean getWithValueDeltas() {
        return withValueDeltas_;
      }
      /**
       * <code>optional bool withValueDeltas = 3;</code>
       */
      public Builder setWithValueDeltas(boolean value) {
        bitField0_ |= 0x00000004;
        withValueDeltas_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool withValueDeltas = 3;</code>
       */
      public Builder clearWithValueDeltas() {
        bitField0_ = (bitField0_ & ~0x00000004);
        withValueDeltas_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:akka.cluster.ddata.ORMultiMap)
    }

    static {
      defaultInstance = new ORMultiMap(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:akka.cluster.ddata.ORMultiMap)
  }

  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_GSet_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_GSet_fieldAccessorTable;
  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_ORSet_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_ORSet_fieldAccessorTable;
  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_ORSetDeltaGroup_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_ORSetDeltaGroup_fieldAccessorTable;
  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_ORSetDeltaGroup_Entry_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_ORSetDeltaGroup_Entry_fieldAccessorTable;
  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_Flag_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_Flag_fieldAccessorTable;
  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_LWWRegister_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_LWWRegister_fieldAccessorTable;
  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_GCounter_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_GCounter_fieldAccessorTable;
  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_GCounter_Entry_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_GCounter_Entry_fieldAccessorTable;
  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_PNCounter_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_PNCounter_fieldAccessorTable;
  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_ORMap_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_ORMap_fieldAccessorTable;
  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_ORMap_Entry_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_ORMap_Entry_fieldAccessorTable;
  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_ORMapDeltaGroup_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_ORMapDeltaGroup_fieldAccessorTable;
  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_ORMapDeltaGroup_MapEntry_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_ORMapDeltaGroup_MapEntry_fieldAccessorTable;
  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_ORMapDeltaGroup_Entry_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_ORMapDeltaGroup_Entry_fieldAccessorTable;
  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_LWWMap_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_LWWMap_fieldAccessorTable;
  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_LWWMap_Entry_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_LWWMap_Entry_fieldAccessorTable;
  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_PNCounterMap_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_PNCounterMap_fieldAccessorTable;
  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_PNCounterMap_Entry_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_PNCounterMap_Entry_fieldAccessorTable;
  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_ORMultiMap_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_ORMultiMap_fieldAccessorTable;
  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_ORMultiMap_Entry_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_ORMultiMap_Entry_fieldAccessorTable;

  public static akka.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static akka.protobuf.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"
    };
    akka.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
      new akka.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
        public akka.protobuf.ExtensionRegistry assignDescriptors(
            akka.protobuf.Descriptors.FileDescriptor root) {
          descriptor = root;
          internal_static_akka_cluster_ddata_GSet_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_akka_cluster_ddata_GSet_fieldAccessorTable = new
            akka.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.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.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_akka_cluster_ddata_ORMultiMap_Entry_descriptor,
              new java.lang.String[] { "StringKey", "Value", "IntKey", "LongKey", "OtherKey", });
          return null;
        }
      };
    akka.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new akka.protobuf.Descriptors.FileDescriptor[] {
          akka.cluster.ddata.protobuf.msg.ReplicatorMessages.getDescriptor(),
        }, assigner);
  }

  // @@protoc_insertion_point(outer_class_scope)
}
