// 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) {
  }
  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);
  }
  /**
   * 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;
            }
          }
        }
      } 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_);
        }
        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);
    }

    private void initFields() {
      stringElements_ = akka.protobuf.LazyStringArrayList.EMPTY;
      intElements_ = java.util.Collections.emptyList();
      longElements_ = java.util.Collections.emptyList();
      otherElements_ = 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 < 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));
      }
      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));
      }
      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();
        }
        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();
        }
        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_);
            }
          }
        }
        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_;
      }

      // @@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.ReplicatedDataMessages.VersionVector getVvector();
    /**
     * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.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.ReplicatedDataMessages.VersionVector> 
        getDotsList();
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.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.ReplicatedDataMessages.VersionVectorOrBuilder> 
        getDotsOrBuilderList();
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.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);
  }
  /**
   * 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.ReplicatedDataMessages.VersionVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = vvector_.toBuilder();
              }
              vvector_ = input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.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.ReplicatedDataMessages.VersionVector>();
                mutable_bitField0_ |= 0x00000002;
              }
              dots_.add(input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.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;
            }
          }
        }
      } 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_);
        }
        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.ReplicatedDataMessages.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.ReplicatedDataMessages.VersionVector getVvector() {
      return vvector_;
    }
    /**
     * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.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.ReplicatedDataMessages.VersionVector> dots_;
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
     */
    public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector> getDotsList() {
      return dots_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
     */
    public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.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.ReplicatedDataMessages.VersionVector getDots(int index) {
      return dots_.get(index);
    }
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.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);
    }

    private void initFields() {
      vvector_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.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();
    }
    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));
      }
      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));
      }
      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.ReplicatedDataMessages.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();
        }
        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();
        }
        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_);
            }
          }
        }
        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.ReplicatedDataMessages.VersionVector vvector_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.getDefaultInstance();
      private akka.protobuf.SingleFieldBuilder<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.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.ReplicatedDataMessages.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.ReplicatedDataMessages.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.ReplicatedDataMessages.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.ReplicatedDataMessages.VersionVector value) {
        if (vvectorBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              vvector_ != akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.getDefaultInstance()) {
            vvector_ =
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.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.ReplicatedDataMessages.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.ReplicatedDataMessages.VersionVector.Builder getVvectorBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getVvectorFieldBuilder().getBuilder();
      }
      /**
       * <code>required .akka.cluster.ddata.VersionVector vvector = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.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.ReplicatedDataMessages.VersionVector, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVectorOrBuilder> 
          getVvectorFieldBuilder() {
        if (vvectorBuilder_ == null) {
          vvectorBuilder_ = new akka.protobuf.SingleFieldBuilder<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVectorOrBuilder>(
                  vvector_,
                  getParentForChildren(),
                  isClean());
          vvector_ = null;
        }
        return vvectorBuilder_;
      }

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

      private akka.protobuf.RepeatedFieldBuilder<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVectorOrBuilder> dotsBuilder_;

      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.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.ReplicatedDataMessages.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.ReplicatedDataMessages.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.ReplicatedDataMessages.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.ReplicatedDataMessages.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.ReplicatedDataMessages.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.ReplicatedDataMessages.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.ReplicatedDataMessages.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.ReplicatedDataMessages.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.ReplicatedDataMessages.VersionVector.Builder getDotsBuilder(
          int index) {
        return getDotsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.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.ReplicatedDataMessages.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.ReplicatedDataMessages.VersionVector.Builder addDotsBuilder() {
        return getDotsFieldBuilder().addBuilder(
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Builder addDotsBuilder(
          int index) {
        return getDotsFieldBuilder().addBuilder(
            index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector dots = 2;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Builder> 
           getDotsBuilderList() {
        return getDotsFieldBuilder().getBuilderList();
      }
      private akka.protobuf.RepeatedFieldBuilder<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVectorOrBuilder> 
          getDotsFieldBuilder() {
        if (dotsBuilder_ == null) {
          dotsBuilder_ = new akka.protobuf.RepeatedFieldBuilder<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.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_;
      }

      // @@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 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 VersionVectorOrBuilder
      extends akka.protobuf.MessageOrBuilder {

    // repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
     */
    java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry> 
        getEntriesList();
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry getEntries(int index);
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
     */
    int getEntriesCount();
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
     */
    java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.EntryOrBuilder> 
        getEntriesOrBuilderList();
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
     */
    akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.EntryOrBuilder getEntriesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code akka.cluster.ddata.VersionVector}
   */
  public static final class VersionVector extends
      akka.protobuf.GeneratedMessage
      implements VersionVectorOrBuilder {
    // Use VersionVector.newBuilder() to construct.
    private VersionVector(akka.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private VersionVector(boolean noInit) { this.unknownFields = akka.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public VersionVector getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final akka.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final akka.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private VersionVector(
        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.VersionVector.Entry>();
                mutable_bitField0_ |= 0x00000001;
              }
              entries_.add(input.readMessage(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.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_VersionVector_descriptor;
    }

    protected akka.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_VersionVector_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Builder.class);
    }

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

    @java.lang.Override
    public akka.protobuf.Parser<VersionVector> 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 int64 version = 2;
      /**
       * <code>required int64 version = 2;</code>
       */
      boolean hasVersion();
      /**
       * <code>required int64 version = 2;</code>
       */
      long getVersion();
    }
    /**
     * Protobuf type {@code akka.cluster.ddata.VersionVector.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 16: {
                bitField0_ |= 0x00000002;
                version_ = input.readInt64();
                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_VersionVector_Entry_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_VersionVector_Entry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.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 int64 version = 2;
      public static final int VERSION_FIELD_NUMBER = 2;
      private long version_;
      /**
       * <code>required int64 version = 2;</code>
       */
      public boolean hasVersion() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required int64 version = 2;</code>
       */
      public long getVersion() {
        return version_;
      }

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

        if (!hasNode()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasVersion()) {
          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.writeInt64(2, version_);
        }
        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
            .computeInt64Size(2, version_);
        }
        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.VersionVector.Entry parseFrom(
          akka.protobuf.ByteString data)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.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.VersionVector.Entry parseFrom(byte[] data)
          throws akka.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.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.VersionVector.Entry parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.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.VersionVector.Entry parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.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.VersionVector.Entry parseFrom(
          akka.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.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.VersionVector.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.VersionVector.Entry}
       */
      public static final class Builder extends
          akka.protobuf.GeneratedMessage.Builder<Builder>
         implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.EntryOrBuilder {
        public static final akka.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_VersionVector_Entry_descriptor;
        }

        protected akka.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_VersionVector_Entry_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry.Builder.class);
        }

        // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.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);
          version_ = 0L;
          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_VersionVector_Entry_descriptor;
        }

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

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

        public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry buildPartial() {
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.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.version_ = version_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(akka.protobuf.Message other) {
          if (other instanceof akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry) {
            return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry other) {
          if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry.getDefaultInstance()) return this;
          if (other.hasNode()) {
            mergeNode(other.getNode());
          }
          if (other.hasVersion()) {
            setVersion(other.getVersion());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          if (!hasNode()) {
            
            return false;
          }
          if (!hasVersion()) {
            
            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.VersionVector.Entry parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (akka.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.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 int64 version = 2;
        private long version_ ;
        /**
         * <code>required int64 version = 2;</code>
         */
        public boolean hasVersion() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>required int64 version = 2;</code>
         */
        public long getVersion() {
          return version_;
        }
        /**
         * <code>required int64 version = 2;</code>
         */
        public Builder setVersion(long value) {
          bitField0_ |= 0x00000002;
          version_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required int64 version = 2;</code>
         */
        public Builder clearVersion() {
          bitField0_ = (bitField0_ & ~0x00000002);
          version_ = 0L;
          onChanged();
          return this;
        }

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

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

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

    // repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;
    public static final int ENTRIES_FIELD_NUMBER = 1;
    private java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry> entries_;
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
     */
    public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry> getEntriesList() {
      return entries_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
     */
    public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.EntryOrBuilder> 
        getEntriesOrBuilderList() {
      return entries_;
    }
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
     */
    public int getEntriesCount() {
      return entries_.size();
    }
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry getEntries(int index) {
      return entries_.get(index);
    }
    /**
     * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
     */
    public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.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.VersionVector parseFrom(
        akka.protobuf.ByteString data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector 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.VersionVector parseFrom(byte[] data)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector parseFrom(
        byte[] data,
        akka.protobuf.ExtensionRegistryLite extensionRegistry)
        throws akka.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector 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.VersionVector parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector 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.VersionVector parseFrom(
        akka.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector 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.VersionVector 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.VersionVector}
     */
    public static final class Builder extends
        akka.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVectorOrBuilder {
      public static final akka.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_VersionVector_descriptor;
      }

      protected akka.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.internal_static_akka_cluster_ddata_VersionVector_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.class, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Builder.class);
      }

      // Construct using akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.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_VersionVector_descriptor;
      }

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

      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector build() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector buildPartial() {
        akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector result = new akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector(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.VersionVector) {
          return mergeFrom((akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector other) {
        if (other == akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.getDefaultInstance()) return this;
        if (entriesBuilder_ == null) {
          if (!other.entries_.isEmpty()) {
            if (entries_.isEmpty()) {
              entries_ = other.entries_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureEntriesIsMutable();
              entries_.addAll(other.entries_);
            }
            onChanged();
          }
        } else {
          if (!other.entries_.isEmpty()) {
            if (entriesBuilder_.isEmpty()) {
              entriesBuilder_.dispose();
              entriesBuilder_ = null;
              entries_ = other.entries_;
              bitField0_ = (bitField0_ & ~0x00000001);
              entriesBuilder_ = 
                akka.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.VersionVector parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

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

      private akka.protobuf.RepeatedFieldBuilder<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.EntryOrBuilder> entriesBuilder_;

      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry> getEntriesList() {
        if (entriesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(entries_);
        } else {
          return entriesBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      public int getEntriesCount() {
        if (entriesBuilder_ == null) {
          return entries_.size();
        } else {
          return entriesBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry getEntries(int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);
        } else {
          return entriesBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      public Builder setEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry value) {
        if (entriesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEntriesIsMutable();
          entries_.set(index, value);
          onChanged();
        } else {
          entriesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      public Builder setEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry.Builder builderForValue) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.set(index, builderForValue.build());
          onChanged();
        } else {
          entriesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      public Builder addEntries(akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry value) {
        if (entriesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEntriesIsMutable();
          entries_.add(value);
          onChanged();
        } else {
          entriesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      public Builder addEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry value) {
        if (entriesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEntriesIsMutable();
          entries_.add(index, value);
          onChanged();
        } else {
          entriesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      public Builder addEntries(
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry.Builder builderForValue) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.add(builderForValue.build());
          onChanged();
        } else {
          entriesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      public Builder addEntries(
          int index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry.Builder builderForValue) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.add(index, builderForValue.build());
          onChanged();
        } else {
          entriesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      public Builder addAllEntries(
          java.lang.Iterable<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry> values) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          super.addAll(values, entries_);
          onChanged();
        } else {
          entriesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      public Builder clearEntries() {
        if (entriesBuilder_ == null) {
          entries_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          entriesBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      public Builder removeEntries(int index) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.remove(index);
          onChanged();
        } else {
          entriesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry.Builder getEntriesBuilder(
          int index) {
        return getEntriesFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.EntryOrBuilder getEntriesOrBuilder(
          int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);  } else {
          return entriesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      public java.util.List<? extends akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.EntryOrBuilder> 
           getEntriesOrBuilderList() {
        if (entriesBuilder_ != null) {
          return entriesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(entries_);
        }
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry.Builder addEntriesBuilder() {
        return getEntriesFieldBuilder().addBuilder(
            akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      public akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry.Builder addEntriesBuilder(
          int index) {
        return getEntriesFieldBuilder().addBuilder(
            index, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry.getDefaultInstance());
      }
      /**
       * <code>repeated .akka.cluster.ddata.VersionVector.Entry entries = 1;</code>
       */
      public java.util.List<akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry.Builder> 
           getEntriesBuilderList() {
        return getEntriesFieldBuilder().getBuilderList();
      }
      private akka.protobuf.RepeatedFieldBuilder<
          akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.EntryOrBuilder> 
          getEntriesFieldBuilder() {
        if (entriesBuilder_ == null) {
          entriesBuilder_ = new akka.protobuf.RepeatedFieldBuilder<
              akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.Entry.Builder, akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.VersionVector.EntryOrBuilder>(
                  entries_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          entries_ = null;
        }
        return entriesBuilder_;
      }

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

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

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

  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 {

      // required string key = 1;
      /**
       * <code>required string key = 1;</code>
       */
      boolean hasKey();
      /**
       * <code>required string key = 1;</code>
       */
      java.lang.String getKey();
      /**
       * <code>required string key = 1;</code>
       */
      akka.protobuf.ByteString
          getKeyBytes();

      // 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();
    }
    /**
     * 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;
                key_ = 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;
              }
            }
          }
        } 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_;
      // required string key = 1;
      public static final int KEY_FIELD_NUMBER = 1;
      private java.lang.Object key_;
      /**
       * <code>required string key = 1;</code>
       */
      public boolean hasKey() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required string key = 1;</code>
       */
      public java.lang.String getKey() {
        java.lang.Object ref = key_;
        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()) {
            key_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string key = 1;</code>
       */
      public akka.protobuf.ByteString
          getKeyBytes() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          akka.protobuf.ByteString b = 
              akka.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          key_ = 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_;
      }

      private void initFields() {
        key_ = "";
        value_ = 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 (!hasKey()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasValue()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getValue().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, getKeyBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(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
            .computeBytesSize(1, getKeyBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += akka.protobuf.CodedOutputStream
            .computeMessageSize(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.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();
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          key_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          if (valueBuilder_ == null) {
            value_ = akka.cluster.ddata.protobuf.msg.ReplicatorMessages.OtherMessage.getDefaultInstance();
          } else {
            valueBuilder_.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_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.key_ = key_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (valueBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = valueBuilder_.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.hasKey()) {
            bitField0_ |= 0x00000001;
            key_ = other.key_;
            onChanged();
          }
          if (other.hasValue()) {
            mergeValue(other.getValue());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          if (!hasKey()) {
            
            return false;
          }
          if (!hasValue()) {
            
            return false;
          }
          if (!getValue().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_;

        // required string key = 1;
        private java.lang.Object key_ = "";
        /**
         * <code>required string key = 1;</code>
         */
        public boolean hasKey() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>required string key = 1;</code>
         */
        public java.lang.String getKey() {
          java.lang.Object ref = key_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((akka.protobuf.ByteString) ref)
                .toStringUtf8();
            key_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string key = 1;</code>
         */
        public akka.protobuf.ByteString
            getKeyBytes() {
          java.lang.Object ref = key_;
          if (ref instanceof String) {
            akka.protobuf.ByteString b = 
                akka.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            key_ = b;
            return b;
          } else {
            return (akka.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>required string key = 1;</code>
         */
        public Builder setKey(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          key_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string key = 1;</code>
         */
        public Builder clearKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          key_ = getDefaultInstance().getKey();
          onChanged();
          return this;
        }
        /**
         * <code>required string key = 1;</code>
         */
        public Builder setKeyBytes(
            akka.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          key_ = 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_;
        }

        // @@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 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 {

      // required string key = 1;
      /**
       * <code>required string key = 1;</code>
       */
      boolean hasKey();
      /**
       * <code>required string key = 1;</code>
       */
      java.lang.String getKey();
      /**
       * <code>required string key = 1;</code>
       */
      akka.protobuf.ByteString
          getKeyBytes();

      // 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();
    }
    /**
     * 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;
                key_ = 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;
              }
            }
          }
        } 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_;
      // required string key = 1;
      public static final int KEY_FIELD_NUMBER = 1;
      private java.lang.Object key_;
      /**
       * <code>required string key = 1;</code>
       */
      public boolean hasKey() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required string key = 1;</code>
       */
      public java.lang.String getKey() {
        java.lang.Object ref = key_;
        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()) {
            key_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string key = 1;</code>
       */
      public akka.protobuf.ByteString
          getKeyBytes() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          akka.protobuf.ByteString b = 
              akka.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          key_ = 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_;
      }

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

        if (!hasKey()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasValue()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getValue().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, getKeyBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(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
            .computeBytesSize(1, getKeyBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += akka.protobuf.CodedOutputStream
            .computeMessageSize(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.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();
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          key_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          if (valueBuilder_ == null) {
            value_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.LWWRegister.getDefaultInstance();
          } else {
            valueBuilder_.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_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.key_ = key_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (valueBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = valueBuilder_.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.hasKey()) {
            bitField0_ |= 0x00000001;
            key_ = other.key_;
            onChanged();
          }
          if (other.hasValue()) {
            mergeValue(other.getValue());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          if (!hasKey()) {
            
            return false;
          }
          if (!hasValue()) {
            
            return false;
          }
          if (!getValue().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_;

        // required string key = 1;
        private java.lang.Object key_ = "";
        /**
         * <code>required string key = 1;</code>
         */
        public boolean hasKey() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>required string key = 1;</code>
         */
        public java.lang.String getKey() {
          java.lang.Object ref = key_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((akka.protobuf.ByteString) ref)
                .toStringUtf8();
            key_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string key = 1;</code>
         */
        public akka.protobuf.ByteString
            getKeyBytes() {
          java.lang.Object ref = key_;
          if (ref instanceof String) {
            akka.protobuf.ByteString b = 
                akka.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            key_ = b;
            return b;
          } else {
            return (akka.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>required string key = 1;</code>
         */
        public Builder setKey(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          key_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string key = 1;</code>
         */
        public Builder clearKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          key_ = getDefaultInstance().getKey();
          onChanged();
          return this;
        }
        /**
         * <code>required string key = 1;</code>
         */
        public Builder setKeyBytes(
            akka.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          key_ = 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_;
        }

        // @@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 {

      // required string key = 1;
      /**
       * <code>required string key = 1;</code>
       */
      boolean hasKey();
      /**
       * <code>required string key = 1;</code>
       */
      java.lang.String getKey();
      /**
       * <code>required string key = 1;</code>
       */
      akka.protobuf.ByteString
          getKeyBytes();

      // 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();
    }
    /**
     * 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;
                key_ = 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;
              }
            }
          }
        } 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_;
      // required string key = 1;
      public static final int KEY_FIELD_NUMBER = 1;
      private java.lang.Object key_;
      /**
       * <code>required string key = 1;</code>
       */
      public boolean hasKey() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required string key = 1;</code>
       */
      public java.lang.String getKey() {
        java.lang.Object ref = key_;
        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()) {
            key_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string key = 1;</code>
       */
      public akka.protobuf.ByteString
          getKeyBytes() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          akka.protobuf.ByteString b = 
              akka.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          key_ = 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_;
      }

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

        if (!hasKey()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasValue()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getValue().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, getKeyBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(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
            .computeBytesSize(1, getKeyBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += akka.protobuf.CodedOutputStream
            .computeMessageSize(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.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();
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          key_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          if (valueBuilder_ == null) {
            value_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.PNCounter.getDefaultInstance();
          } else {
            valueBuilder_.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_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.key_ = key_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (valueBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = valueBuilder_.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.hasKey()) {
            bitField0_ |= 0x00000001;
            key_ = other.key_;
            onChanged();
          }
          if (other.hasValue()) {
            mergeValue(other.getValue());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          if (!hasKey()) {
            
            return false;
          }
          if (!hasValue()) {
            
            return false;
          }
          if (!getValue().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_;

        // required string key = 1;
        private java.lang.Object key_ = "";
        /**
         * <code>required string key = 1;</code>
         */
        public boolean hasKey() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>required string key = 1;</code>
         */
        public java.lang.String getKey() {
          java.lang.Object ref = key_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((akka.protobuf.ByteString) ref)
                .toStringUtf8();
            key_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string key = 1;</code>
         */
        public akka.protobuf.ByteString
            getKeyBytes() {
          java.lang.Object ref = key_;
          if (ref instanceof String) {
            akka.protobuf.ByteString b = 
                akka.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            key_ = b;
            return b;
          } else {
            return (akka.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>required string key = 1;</code>
         */
        public Builder setKey(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          key_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string key = 1;</code>
         */
        public Builder clearKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          key_ = getDefaultInstance().getKey();
          onChanged();
          return this;
        }
        /**
         * <code>required string key = 1;</code>
         */
        public Builder setKeyBytes(
            akka.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          key_ = 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_;
        }

        // @@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);
  }
  /**
   * 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;
            }
          }
        }
      } 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 {

      // required string key = 1;
      /**
       * <code>required string key = 1;</code>
       */
      boolean hasKey();
      /**
       * <code>required string key = 1;</code>
       */
      java.lang.String getKey();
      /**
       * <code>required string key = 1;</code>
       */
      akka.protobuf.ByteString
          getKeyBytes();

      // 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();
    }
    /**
     * 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;
                key_ = 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;
              }
            }
          }
        } 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_;
      // required string key = 1;
      public static final int KEY_FIELD_NUMBER = 1;
      private java.lang.Object key_;
      /**
       * <code>required string key = 1;</code>
       */
      public boolean hasKey() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required string key = 1;</code>
       */
      public java.lang.String getKey() {
        java.lang.Object ref = key_;
        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()) {
            key_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string key = 1;</code>
       */
      public akka.protobuf.ByteString
          getKeyBytes() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          akka.protobuf.ByteString b = 
              akka.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          key_ = 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_;
      }

      private void initFields() {
        key_ = "";
        value_ = 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 (!hasKey()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasValue()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getValue().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, getKeyBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(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
            .computeBytesSize(1, getKeyBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += akka.protobuf.CodedOutputStream
            .computeMessageSize(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.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();
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          key_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          if (valueBuilder_ == null) {
            value_ = akka.cluster.ddata.protobuf.msg.ReplicatedDataMessages.ORSet.getDefaultInstance();
          } else {
            valueBuilder_.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_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.key_ = key_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (valueBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = valueBuilder_.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.hasKey()) {
            bitField0_ |= 0x00000001;
            key_ = other.key_;
            onChanged();
          }
          if (other.hasValue()) {
            mergeValue(other.getValue());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          if (!hasKey()) {
            
            return false;
          }
          if (!hasValue()) {
            
            return false;
          }
          if (!getValue().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_;

        // required string key = 1;
        private java.lang.Object key_ = "";
        /**
         * <code>required string key = 1;</code>
         */
        public boolean hasKey() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>required string key = 1;</code>
         */
        public java.lang.String getKey() {
          java.lang.Object ref = key_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((akka.protobuf.ByteString) ref)
                .toStringUtf8();
            key_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string key = 1;</code>
         */
        public akka.protobuf.ByteString
            getKeyBytes() {
          java.lang.Object ref = key_;
          if (ref instanceof String) {
            akka.protobuf.ByteString b = 
                akka.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            key_ = b;
            return b;
          } else {
            return (akka.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>required string key = 1;</code>
         */
        public Builder setKey(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          key_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string key = 1;</code>
         */
        public Builder clearKey() {
          bitField0_ = (bitField0_ & ~0x00000001);
          key_ = getDefaultInstance().getKey();
          onChanged();
          return this;
        }
        /**
         * <code>required string key = 1;</code>
         */
        public Builder setKeyBytes(
            akka.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          key_ = 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_;
        }

        // @@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);
    }

    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.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();
        }
        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();
        }
        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_);
            }
          }
        }
        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_;
      }

      // @@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_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_VersionVector_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_VersionVector_fieldAccessorTable;
  private static akka.protobuf.Descriptors.Descriptor
    internal_static_akka_cluster_ddata_VersionVector_Entry_descriptor;
  private static
    akka.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_akka_cluster_ddata_VersionVector_Entry_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_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\"\212\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\"\360\001\n\005ORSet\0222\n\007vvector\030\001" +
      " \002(\0132!.akka.cluster.ddata.VersionVector\022" +
      "/\n\004dots\030\002 \003(\0132!.akka.cluster.ddata.Versi" +
      "onVector\022\026\n\016stringElements\030\003 \003(\t\022\027\n\013intE" +
      "lements\030\004 \003(\021B\002\020\001\022\030\n\014longElements\030\005 \003(\022B",
      "\002\020\001\0227\n\rotherElements\030\006 \003(\0132 .akka.cluste" +
      "r.ddata.OtherMessage\"\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.Uniq" +
      "ueAddress\022/\n\005state\030\003 \002(\0132 .akka.cluster." +
      "ddata.OtherMessage\"\210\001\n\010GCounter\0223\n\007entri" +
      "es\030\001 \003(\0132\".akka.cluster.ddata.GCounter.E" +
      "ntry\032G\n\005Entry\022/\n\004node\030\001 \002(\0132!.akka.clust" +
      "er.ddata.UniqueAddress\022\r\n\005value\030\002 \002(\014\"o\n" +
      "\tPNCounter\0220\n\nincrements\030\001 \002(\0132\034.akka.cl",
      "uster.ddata.GCounter\0220\n\ndecrements\030\002 \002(\013" +
      "2\034.akka.cluster.ddata.GCounter\"\224\001\n\rVersi" +
      "onVector\0228\n\007entries\030\001 \003(\0132\'.akka.cluster" +
      ".ddata.VersionVector.Entry\032I\n\005Entry\022/\n\004n" +
      "ode\030\001 \002(\0132!.akka.cluster.ddata.UniqueAdd" +
      "ress\022\017\n\007version\030\002 \002(\003\"\251\001\n\005ORMap\022\'\n\004keys\030" +
      "\001 \002(\0132\031.akka.cluster.ddata.ORSet\0220\n\007entr" +
      "ies\030\002 \003(\0132\037.akka.cluster.ddata.ORMap.Ent" +
      "ry\032E\n\005Entry\022\013\n\003key\030\001 \002(\t\022/\n\005value\030\002 \002(\0132" +
      " .akka.cluster.ddata.OtherMessage\"\252\001\n\006LW",
      "WMap\022\'\n\004keys\030\001 \002(\0132\031.akka.cluster.ddata." +
      "ORSet\0221\n\007entries\030\002 \003(\0132 .akka.cluster.dd" +
      "ata.LWWMap.Entry\032D\n\005Entry\022\013\n\003key\030\001 \002(\t\022." +
      "\n\005value\030\002 \002(\0132\037.akka.cluster.ddata.LWWRe" +
      "gister\"\264\001\n\014PNCounterMap\022\'\n\004keys\030\001 \002(\0132\031." +
      "akka.cluster.ddata.ORSet\0227\n\007entries\030\002 \003(" +
      "\0132&.akka.cluster.ddata.PNCounterMap.Entr" +
      "y\032B\n\005Entry\022\013\n\003key\030\001 \002(\t\022,\n\005value\030\002 \002(\0132\035" +
      ".akka.cluster.ddata.PNCounter\"\254\001\n\nORMult" +
      "iMap\022\'\n\004keys\030\001 \002(\0132\031.akka.cluster.ddata.",
      "ORSet\0225\n\007entries\030\002 \003(\0132$.akka.cluster.dd" +
      "ata.ORMultiMap.Entry\032>\n\005Entry\022\013\n\003key\030\001 \002" +
      "(\t\022(\n\005value\030\002 \002(\0132\031.akka.cluster.ddata.O" +
      "RSetB#\n\037akka.cluster.ddata.protobuf.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", });
          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", });
          internal_static_akka_cluster_ddata_Flag_descriptor =
            getDescriptor().getMessageTypes().get(2);
          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(3);
          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(4);
          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(5);
          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_VersionVector_descriptor =
            getDescriptor().getMessageTypes().get(6);
          internal_static_akka_cluster_ddata_VersionVector_fieldAccessorTable = new
            akka.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_akka_cluster_ddata_VersionVector_descriptor,
              new java.lang.String[] { "Entries", });
          internal_static_akka_cluster_ddata_VersionVector_Entry_descriptor =
            internal_static_akka_cluster_ddata_VersionVector_descriptor.getNestedTypes().get(0);
          internal_static_akka_cluster_ddata_VersionVector_Entry_fieldAccessorTable = new
            akka.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_akka_cluster_ddata_VersionVector_Entry_descriptor,
              new java.lang.String[] { "Node", "Version", });
          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[] { "Key", "Value", });
          internal_static_akka_cluster_ddata_LWWMap_descriptor =
            getDescriptor().getMessageTypes().get(8);
          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[] { "Key", "Value", });
          internal_static_akka_cluster_ddata_PNCounterMap_descriptor =
            getDescriptor().getMessageTypes().get(9);
          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[] { "Key", "Value", });
          internal_static_akka_cluster_ddata_ORMultiMap_descriptor =
            getDescriptor().getMessageTypes().get(10);
          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", });
          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[] { "Key", "Value", });
          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)
}
