alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Akka/Scala example source code file (DistributedPubSubMessages.java)

This example Akka source code file (DistributedPubSubMessages.java) is included in my "Source Code Warehouse" project. The intent of this project is to help you more easily find Akka and Scala source code examples by using tags.

All credit for the original source code belongs to akka.io; I'm just trying to make examples easier to find. (For my Scala work, see my Scala examples and tutorials.)

Akka tags/keywords

address, bucket, builder, delta, entry, nullpointerexception, parser, payload, sendtoall, version

The DistributedPubSubMessages.java Akka example source code

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

package akka.contrib.pattern.protobuf.msg;

public final class DistributedPubSubMessages {
  private DistributedPubSubMessages() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  public interface StatusOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // repeated .Status.Version versions = 1;
    /**
     * <code>repeated .Status.Version versions = 1;</code>
     */
    java.util.List<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version> 
        getVersionsList();
    /**
     * <code>repeated .Status.Version versions = 1;</code>
     */
    akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version getVersions(int index);
    /**
     * <code>repeated .Status.Version versions = 1;</code>
     */
    int getVersionsCount();
    /**
     * <code>repeated .Status.Version versions = 1;</code>
     */
    java.util.List<? extends akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.VersionOrBuilder> 
        getVersionsOrBuilderList();
    /**
     * <code>repeated .Status.Version versions = 1;</code>
     */
    akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.VersionOrBuilder getVersionsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code Status}
   */
  public static final class Status extends
      com.google.protobuf.GeneratedMessage
      implements StatusOrBuilder {
    // Use Status.newBuilder() to construct.
    private Status(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private Status(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public Status getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private Status(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.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)) {
                versions_ = new java.util.ArrayList<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version>();
                mutable_bitField0_ |= 0x00000001;
              }
              versions_.add(input.readMessage(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          versions_ = java.util.Collections.unmodifiableList(versions_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Status_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Status_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.class, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Builder.class);
    }

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

    @java.lang.Override
    public com.google.protobuf.Parser<Status> getParserForType() {
      return PARSER;
    }

    public interface VersionOrBuilder
        extends com.google.protobuf.MessageOrBuilder {

      // required .Address address = 1;
      /**
       * <code>required .Address address = 1;</code>
       */
      boolean hasAddress();
      /**
       * <code>required .Address address = 1;</code>
       */
      akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address getAddress();
      /**
       * <code>required .Address address = 1;</code>
       */
      akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder getAddressOrBuilder();

      // required int64 timestamp = 2;
      /**
       * <code>required int64 timestamp = 2;</code>
       */
      boolean hasTimestamp();
      /**
       * <code>required int64 timestamp = 2;</code>
       */
      long getTimestamp();
    }
    /**
     * Protobuf type {@code Status.Version}
     */
    public static final class Version extends
        com.google.protobuf.GeneratedMessage
        implements VersionOrBuilder {
      // Use Version.newBuilder() to construct.
      private Version(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private Version(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

      public Version getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private Version(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.Builder subBuilder = null;
                if (((bitField0_ & 0x00000001) == 0x00000001)) {
                  subBuilder = address_.toBuilder();
                }
                address_ = input.readMessage(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(address_);
                  address_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000001;
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                timestamp_ = input.readInt64();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Status_Version_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Status_Version_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version.class, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder.class);
      }

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

      @java.lang.Override
      public com.google.protobuf.Parser<Version> getParserForType() {
        return PARSER;
      }

      private int bitField0_;
      // required .Address address = 1;
      public static final int ADDRESS_FIELD_NUMBER = 1;
      private akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address address_;
      /**
       * <code>required .Address address = 1;</code>
       */
      public boolean hasAddress() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required .Address address = 1;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address getAddress() {
        return address_;
      }
      /**
       * <code>required .Address address = 1;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder getAddressOrBuilder() {
        return address_;
      }

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

      private void initFields() {
        address_ = akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance();
        timestamp_ = 0L;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        if (!hasAddress()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasTimestamp()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getAddress().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeMessage(1, address_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeInt64(2, timestamp_);
        }
        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 += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, address_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(2, timestamp_);
        }
        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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Status.Version}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.VersionOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Status_Version_descriptor;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Status_Version_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version.class, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder.class);
        }

        // Construct using akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getAddressFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          if (addressBuilder_ == null) {
            address_ = akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance();
          } else {
            addressBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          timestamp_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

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

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Status_Version_descriptor;
        }

        public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version getDefaultInstanceForType() {
          return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version.getDefaultInstance();
        }

        public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version build() {
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version buildPartial() {
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version result = new akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (addressBuilder_ == null) {
            result.address_ = address_;
          } else {
            result.address_ = addressBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.timestamp_ = timestamp_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version) {
            return mergeFrom((akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version other) {
          if (other == akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version.getDefaultInstance()) return this;
          if (other.hasAddress()) {
            mergeAddress(other.getAddress());
          }
          if (other.hasTimestamp()) {
            setTimestamp(other.getTimestamp());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          if (!hasAddress()) {
            
            return false;
          }
          if (!hasTimestamp()) {
            
            return false;
          }
          if (!getAddress().isInitialized()) {
            
            return false;
          }
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        // required .Address address = 1;
        private akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address address_ = akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder> addressBuilder_;
        /**
         * <code>required .Address address = 1;</code>
         */
        public boolean hasAddress() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>required .Address address = 1;</code>
         */
        public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address getAddress() {
          if (addressBuilder_ == null) {
            return address_;
          } else {
            return addressBuilder_.getMessage();
          }
        }
        /**
         * <code>required .Address address = 1;</code>
         */
        public Builder setAddress(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address value) {
          if (addressBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            address_ = value;
            onChanged();
          } else {
            addressBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>required .Address address = 1;</code>
         */
        public Builder setAddress(
            akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.Builder builderForValue) {
          if (addressBuilder_ == null) {
            address_ = builderForValue.build();
            onChanged();
          } else {
            addressBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>required .Address address = 1;</code>
         */
        public Builder mergeAddress(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address value) {
          if (addressBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                address_ != akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance()) {
              address_ =
                akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.newBuilder(address_).mergeFrom(value).buildPartial();
            } else {
              address_ = value;
            }
            onChanged();
          } else {
            addressBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>required .Address address = 1;</code>
         */
        public Builder clearAddress() {
          if (addressBuilder_ == null) {
            address_ = akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance();
            onChanged();
          } else {
            addressBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        /**
         * <code>required .Address address = 1;</code>
         */
        public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.Builder getAddressBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getAddressFieldBuilder().getBuilder();
        }
        /**
         * <code>required .Address address = 1;</code>
         */
        public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder getAddressOrBuilder() {
          if (addressBuilder_ != null) {
            return addressBuilder_.getMessageOrBuilder();
          } else {
            return address_;
          }
        }
        /**
         * <code>required .Address address = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilder<
            akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder> 
            getAddressFieldBuilder() {
          if (addressBuilder_ == null) {
            addressBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder>(
                    address_,
                    getParentForChildren(),
                    isClean());
            address_ = null;
          }
          return addressBuilder_;
        }

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

        // @@protoc_insertion_point(builder_scope:Status.Version)
      }

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

      // @@protoc_insertion_point(class_scope:Status.Version)
    }

    // repeated .Status.Version versions = 1;
    public static final int VERSIONS_FIELD_NUMBER = 1;
    private java.util.List<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version> versions_;
    /**
     * <code>repeated .Status.Version versions = 1;</code>
     */
    public java.util.List<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version> getVersionsList() {
      return versions_;
    }
    /**
     * <code>repeated .Status.Version versions = 1;</code>
     */
    public java.util.List<? extends akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.VersionOrBuilder> 
        getVersionsOrBuilderList() {
      return versions_;
    }
    /**
     * <code>repeated .Status.Version versions = 1;</code>
     */
    public int getVersionsCount() {
      return versions_.size();
    }
    /**
     * <code>repeated .Status.Version versions = 1;</code>
     */
    public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version getVersions(int index) {
      return versions_.get(index);
    }
    /**
     * <code>repeated .Status.Version versions = 1;</code>
     */
    public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.VersionOrBuilder getVersionsOrBuilder(
        int index) {
      return versions_.get(index);
    }

    private void initFields() {
      versions_ = 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 < getVersionsCount(); i++) {
        if (!getVersions(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < versions_.size(); i++) {
        output.writeMessage(1, versions_.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 < versions_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, versions_.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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code Status}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.StatusOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Status_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Status_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.class, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Builder.class);
      }

      // Construct using akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getVersionsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

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

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Status_descriptor;
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status getDefaultInstanceForType() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.getDefaultInstance();
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status build() {
        akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status buildPartial() {
        akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status result = new akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status(this);
        int from_bitField0_ = bitField0_;
        if (versionsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            versions_ = java.util.Collections.unmodifiableList(versions_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.versions_ = versions_;
        } else {
          result.versions_ = versionsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status) {
          return mergeFrom((akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status other) {
        if (other == akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.getDefaultInstance()) return this;
        if (versionsBuilder_ == null) {
          if (!other.versions_.isEmpty()) {
            if (versions_.isEmpty()) {
              versions_ = other.versions_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureVersionsIsMutable();
              versions_.addAll(other.versions_);
            }
            onChanged();
          }
        } else {
          if (!other.versions_.isEmpty()) {
            if (versionsBuilder_.isEmpty()) {
              versionsBuilder_.dispose();
              versionsBuilder_ = null;
              versions_ = other.versions_;
              bitField0_ = (bitField0_ & ~0x00000001);
              versionsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getVersionsFieldBuilder() : null;
            } else {
              versionsBuilder_.addAllMessages(other.versions_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

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

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

      // repeated .Status.Version versions = 1;
      private java.util.List<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version> versions_ =
        java.util.Collections.emptyList();
      private void ensureVersionsIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          versions_ = new java.util.ArrayList<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version>(versions_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.VersionOrBuilder> versionsBuilder_;

      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public java.util.List<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version> getVersionsList() {
        if (versionsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(versions_);
        } else {
          return versionsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public int getVersionsCount() {
        if (versionsBuilder_ == null) {
          return versions_.size();
        } else {
          return versionsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version getVersions(int index) {
        if (versionsBuilder_ == null) {
          return versions_.get(index);
        } else {
          return versionsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public Builder setVersions(
          int index, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version value) {
        if (versionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureVersionsIsMutable();
          versions_.set(index, value);
          onChanged();
        } else {
          versionsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public Builder setVersions(
          int index, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder builderForValue) {
        if (versionsBuilder_ == null) {
          ensureVersionsIsMutable();
          versions_.set(index, builderForValue.build());
          onChanged();
        } else {
          versionsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public Builder addVersions(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version value) {
        if (versionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureVersionsIsMutable();
          versions_.add(value);
          onChanged();
        } else {
          versionsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public Builder addVersions(
          int index, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version value) {
        if (versionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureVersionsIsMutable();
          versions_.add(index, value);
          onChanged();
        } else {
          versionsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public Builder addVersions(
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder builderForValue) {
        if (versionsBuilder_ == null) {
          ensureVersionsIsMutable();
          versions_.add(builderForValue.build());
          onChanged();
        } else {
          versionsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public Builder addVersions(
          int index, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder builderForValue) {
        if (versionsBuilder_ == null) {
          ensureVersionsIsMutable();
          versions_.add(index, builderForValue.build());
          onChanged();
        } else {
          versionsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public Builder addAllVersions(
          java.lang.Iterable<? extends akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version> values) {
        if (versionsBuilder_ == null) {
          ensureVersionsIsMutable();
          super.addAll(values, versions_);
          onChanged();
        } else {
          versionsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public Builder clearVersions() {
        if (versionsBuilder_ == null) {
          versions_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          versionsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public Builder removeVersions(int index) {
        if (versionsBuilder_ == null) {
          ensureVersionsIsMutable();
          versions_.remove(index);
          onChanged();
        } else {
          versionsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder getVersionsBuilder(
          int index) {
        return getVersionsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.VersionOrBuilder getVersionsOrBuilder(
          int index) {
        if (versionsBuilder_ == null) {
          return versions_.get(index);  } else {
          return versionsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public java.util.List<? extends akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.VersionOrBuilder> 
           getVersionsOrBuilderList() {
        if (versionsBuilder_ != null) {
          return versionsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(versions_);
        }
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder addVersionsBuilder() {
        return getVersionsFieldBuilder().addBuilder(
            akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version.getDefaultInstance());
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder addVersionsBuilder(
          int index) {
        return getVersionsFieldBuilder().addBuilder(
            index, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version.getDefaultInstance());
      }
      /**
       * <code>repeated .Status.Version versions = 1;</code>
       */
      public java.util.List<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder> 
           getVersionsBuilderList() {
        return getVersionsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.VersionOrBuilder> 
          getVersionsFieldBuilder() {
        if (versionsBuilder_ == null) {
          versionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.Version.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Status.VersionOrBuilder>(
                  versions_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          versions_ = null;
        }
        return versionsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:Status)
    }

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

    // @@protoc_insertion_point(class_scope:Status)
  }

  public interface DeltaOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // repeated .Delta.Bucket buckets = 1;
    /**
     * <code>repeated .Delta.Bucket buckets = 1;</code>
     */
    java.util.List<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket> 
        getBucketsList();
    /**
     * <code>repeated .Delta.Bucket buckets = 1;</code>
     */
    akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket getBuckets(int index);
    /**
     * <code>repeated .Delta.Bucket buckets = 1;</code>
     */
    int getBucketsCount();
    /**
     * <code>repeated .Delta.Bucket buckets = 1;</code>
     */
    java.util.List<? extends akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.BucketOrBuilder> 
        getBucketsOrBuilderList();
    /**
     * <code>repeated .Delta.Bucket buckets = 1;</code>
     */
    akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.BucketOrBuilder getBucketsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code Delta}
   */
  public static final class Delta extends
      com.google.protobuf.GeneratedMessage
      implements DeltaOrBuilder {
    // Use Delta.newBuilder() to construct.
    private Delta(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private Delta(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public Delta getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private Delta(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.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)) {
                buckets_ = new java.util.ArrayList<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket>();
                mutable_bitField0_ |= 0x00000001;
              }
              buckets_.add(input.readMessage(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          buckets_ = java.util.Collections.unmodifiableList(buckets_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.class, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Builder.class);
    }

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

    @java.lang.Override
    public com.google.protobuf.Parser<Delta> getParserForType() {
      return PARSER;
    }

    public interface EntryOrBuilder
        extends com.google.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>
       */
      com.google.protobuf.ByteString
          getKeyBytes();

      // required int64 version = 2;
      /**
       * <code>required int64 version = 2;</code>
       */
      boolean hasVersion();
      /**
       * <code>required int64 version = 2;</code>
       */
      long getVersion();

      // optional string ref = 3;
      /**
       * <code>optional string ref = 3;</code>
       */
      boolean hasRef();
      /**
       * <code>optional string ref = 3;</code>
       */
      java.lang.String getRef();
      /**
       * <code>optional string ref = 3;</code>
       */
      com.google.protobuf.ByteString
          getRefBytes();
    }
    /**
     * Protobuf type {@code Delta.Entry}
     */
    public static final class Entry extends
        com.google.protobuf.GeneratedMessage
        implements EntryOrBuilder {
      // Use Entry.newBuilder() to construct.
      private Entry(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private Entry(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

      public Entry getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private Entry(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.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 16: {
                bitField0_ |= 0x00000002;
                version_ = input.readInt64();
                break;
              }
              case 26: {
                bitField0_ |= 0x00000004;
                ref_ = input.readBytes();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_Entry_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_Entry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry.class, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder.class);
      }

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

      @java.lang.Override
      public com.google.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 {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            key_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string key = 1;</code>
       */
      public com.google.protobuf.ByteString
          getKeyBytes() {
        java.lang.Object ref = key_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          key_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

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

      // optional string ref = 3;
      public static final int REF_FIELD_NUMBER = 3;
      private java.lang.Object ref_;
      /**
       * <code>optional string ref = 3;</code>
       */
      public boolean hasRef() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional string ref = 3;</code>
       */
      public java.lang.String getRef() {
        java.lang.Object ref = ref_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            ref_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string ref = 3;</code>
       */
      public com.google.protobuf.ByteString
          getRefBytes() {
        java.lang.Object ref = ref_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ref_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      private void initFields() {
        key_ = "";
        version_ = 0L;
        ref_ = "";
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

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

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getKeyBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeInt64(2, version_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeBytes(3, getRefBytes());
        }
        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 += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, getKeyBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(2, version_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(3, getRefBytes());
        }
        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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Delta.Entry}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.EntryOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_Entry_descriptor;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_Entry_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry.class, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder.class);
        }

        // Construct using akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          key_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          version_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000002);
          ref_ = "";
          bitField0_ = (bitField0_ & ~0x00000004);
          return this;
        }

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

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_Entry_descriptor;
        }

        public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry getDefaultInstanceForType() {
          return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry.getDefaultInstance();
        }

        public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry build() {
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry buildPartial() {
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry result = new akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.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;
          }
          result.version_ = version_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.ref_ = ref_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry) {
            return mergeFrom((akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry other) {
          if (other == akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry.getDefaultInstance()) return this;
          if (other.hasKey()) {
            bitField0_ |= 0x00000001;
            key_ = other.key_;
            onChanged();
          }
          if (other.hasVersion()) {
            setVersion(other.getVersion());
          }
          if (other.hasRef()) {
            bitField0_ |= 0x00000004;
            ref_ = other.ref_;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

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

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.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 = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            key_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string key = 1;</code>
         */
        public com.google.protobuf.ByteString
            getKeyBytes() {
          java.lang.Object ref = key_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            key_ = b;
            return b;
          } else {
            return (com.google.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(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          key_ = value;
          onChanged();
          return this;
        }

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

        // optional string ref = 3;
        private java.lang.Object ref_ = "";
        /**
         * <code>optional string ref = 3;</code>
         */
        public boolean hasRef() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>optional string ref = 3;</code>
         */
        public java.lang.String getRef() {
          java.lang.Object ref = ref_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            ref_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string ref = 3;</code>
         */
        public com.google.protobuf.ByteString
            getRefBytes() {
          java.lang.Object ref = ref_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            ref_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>optional string ref = 3;</code>
         */
        public Builder setRef(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
          ref_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional string ref = 3;</code>
         */
        public Builder clearRef() {
          bitField0_ = (bitField0_ & ~0x00000004);
          ref_ = getDefaultInstance().getRef();
          onChanged();
          return this;
        }
        /**
         * <code>optional string ref = 3;</code>
         */
        public Builder setRefBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
          ref_ = value;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:Delta.Entry)
      }

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

      // @@protoc_insertion_point(class_scope:Delta.Entry)
    }

    public interface BucketOrBuilder
        extends com.google.protobuf.MessageOrBuilder {

      // required .Address owner = 1;
      /**
       * <code>required .Address owner = 1;</code>
       */
      boolean hasOwner();
      /**
       * <code>required .Address owner = 1;</code>
       */
      akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address getOwner();
      /**
       * <code>required .Address owner = 1;</code>
       */
      akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder getOwnerOrBuilder();

      // required int64 version = 2;
      /**
       * <code>required int64 version = 2;</code>
       */
      boolean hasVersion();
      /**
       * <code>required int64 version = 2;</code>
       */
      long getVersion();

      // repeated .Delta.Entry content = 3;
      /**
       * <code>repeated .Delta.Entry content = 3;</code>
       */
      java.util.List<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry> 
          getContentList();
      /**
       * <code>repeated .Delta.Entry content = 3;</code>
       */
      akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry getContent(int index);
      /**
       * <code>repeated .Delta.Entry content = 3;</code>
       */
      int getContentCount();
      /**
       * <code>repeated .Delta.Entry content = 3;</code>
       */
      java.util.List<? extends akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.EntryOrBuilder> 
          getContentOrBuilderList();
      /**
       * <code>repeated .Delta.Entry content = 3;</code>
       */
      akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.EntryOrBuilder getContentOrBuilder(
          int index);
    }
    /**
     * Protobuf type {@code Delta.Bucket}
     */
    public static final class Bucket extends
        com.google.protobuf.GeneratedMessage
        implements BucketOrBuilder {
      // Use Bucket.newBuilder() to construct.
      private Bucket(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private Bucket(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

      public Bucket getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private Bucket(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.Builder subBuilder = null;
                if (((bitField0_ & 0x00000001) == 0x00000001)) {
                  subBuilder = owner_.toBuilder();
                }
                owner_ = input.readMessage(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(owner_);
                  owner_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000001;
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                version_ = input.readInt64();
                break;
              }
              case 26: {
                if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                  content_ = new java.util.ArrayList<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry>();
                  mutable_bitField0_ |= 0x00000004;
                }
                content_.add(input.readMessage(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry.PARSER, extensionRegistry));
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
            content_ = java.util.Collections.unmodifiableList(content_);
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_Bucket_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_Bucket_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.class, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder.class);
      }

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

      @java.lang.Override
      public com.google.protobuf.Parser<Bucket> getParserForType() {
        return PARSER;
      }

      private int bitField0_;
      // required .Address owner = 1;
      public static final int OWNER_FIELD_NUMBER = 1;
      private akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address owner_;
      /**
       * <code>required .Address owner = 1;</code>
       */
      public boolean hasOwner() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required .Address owner = 1;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address getOwner() {
        return owner_;
      }
      /**
       * <code>required .Address owner = 1;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder getOwnerOrBuilder() {
        return owner_;
      }

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

      // repeated .Delta.Entry content = 3;
      public static final int CONTENT_FIELD_NUMBER = 3;
      private java.util.List<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry> content_;
      /**
       * <code>repeated .Delta.Entry content = 3;</code>
       */
      public java.util.List<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry> getContentList() {
        return content_;
      }
      /**
       * <code>repeated .Delta.Entry content = 3;</code>
       */
      public java.util.List<? extends akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.EntryOrBuilder> 
          getContentOrBuilderList() {
        return content_;
      }
      /**
       * <code>repeated .Delta.Entry content = 3;</code>
       */
      public int getContentCount() {
        return content_.size();
      }
      /**
       * <code>repeated .Delta.Entry content = 3;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry getContent(int index) {
        return content_.get(index);
      }
      /**
       * <code>repeated .Delta.Entry content = 3;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.EntryOrBuilder getContentOrBuilder(
          int index) {
        return content_.get(index);
      }

      private void initFields() {
        owner_ = akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance();
        version_ = 0L;
        content_ = java.util.Collections.emptyList();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        if (!hasOwner()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasVersion()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getOwner().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        for (int i = 0; i < getContentCount(); i++) {
          if (!getContent(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeMessage(1, owner_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeInt64(2, version_);
        }
        for (int i = 0; i < content_.size(); i++) {
          output.writeMessage(3, content_.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 += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, owner_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(2, version_);
        }
        for (int i = 0; i < content_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, content_.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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code Delta.Bucket}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.BucketOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_Bucket_descriptor;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_Bucket_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.class, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder.class);
        }

        // Construct using akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getOwnerFieldBuilder();
            getContentFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          if (ownerBuilder_ == null) {
            owner_ = akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance();
          } else {
            ownerBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          version_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000002);
          if (contentBuilder_ == null) {
            content_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            contentBuilder_.clear();
          }
          return this;
        }

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

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_Bucket_descriptor;
        }

        public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket getDefaultInstanceForType() {
          return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.getDefaultInstance();
        }

        public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket build() {
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket buildPartial() {
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket result = new akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (ownerBuilder_ == null) {
            result.owner_ = owner_;
          } else {
            result.owner_ = ownerBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.version_ = version_;
          if (contentBuilder_ == null) {
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              content_ = java.util.Collections.unmodifiableList(content_);
              bitField0_ = (bitField0_ & ~0x00000004);
            }
            result.content_ = content_;
          } else {
            result.content_ = contentBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket) {
            return mergeFrom((akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket other) {
          if (other == akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.getDefaultInstance()) return this;
          if (other.hasOwner()) {
            mergeOwner(other.getOwner());
          }
          if (other.hasVersion()) {
            setVersion(other.getVersion());
          }
          if (contentBuilder_ == null) {
            if (!other.content_.isEmpty()) {
              if (content_.isEmpty()) {
                content_ = other.content_;
                bitField0_ = (bitField0_ & ~0x00000004);
              } else {
                ensureContentIsMutable();
                content_.addAll(other.content_);
              }
              onChanged();
            }
          } else {
            if (!other.content_.isEmpty()) {
              if (contentBuilder_.isEmpty()) {
                contentBuilder_.dispose();
                contentBuilder_ = null;
                content_ = other.content_;
                bitField0_ = (bitField0_ & ~0x00000004);
                contentBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getContentFieldBuilder() : null;
              } else {
                contentBuilder_.addAllMessages(other.content_);
              }
            }
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          if (!hasOwner()) {
            
            return false;
          }
          if (!hasVersion()) {
            
            return false;
          }
          if (!getOwner().isInitialized()) {
            
            return false;
          }
          for (int i = 0; i < getContentCount(); i++) {
            if (!getContent(i).isInitialized()) {
              
              return false;
            }
          }
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        // required .Address owner = 1;
        private akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address owner_ = akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder> ownerBuilder_;
        /**
         * <code>required .Address owner = 1;</code>
         */
        public boolean hasOwner() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>required .Address owner = 1;</code>
         */
        public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address getOwner() {
          if (ownerBuilder_ == null) {
            return owner_;
          } else {
            return ownerBuilder_.getMessage();
          }
        }
        /**
         * <code>required .Address owner = 1;</code>
         */
        public Builder setOwner(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address value) {
          if (ownerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            owner_ = value;
            onChanged();
          } else {
            ownerBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>required .Address owner = 1;</code>
         */
        public Builder setOwner(
            akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.Builder builderForValue) {
          if (ownerBuilder_ == null) {
            owner_ = builderForValue.build();
            onChanged();
          } else {
            ownerBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>required .Address owner = 1;</code>
         */
        public Builder mergeOwner(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address value) {
          if (ownerBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                owner_ != akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance()) {
              owner_ =
                akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.newBuilder(owner_).mergeFrom(value).buildPartial();
            } else {
              owner_ = value;
            }
            onChanged();
          } else {
            ownerBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>required .Address owner = 1;</code>
         */
        public Builder clearOwner() {
          if (ownerBuilder_ == null) {
            owner_ = akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance();
            onChanged();
          } else {
            ownerBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        /**
         * <code>required .Address owner = 1;</code>
         */
        public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.Builder getOwnerBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getOwnerFieldBuilder().getBuilder();
        }
        /**
         * <code>required .Address owner = 1;</code>
         */
        public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder getOwnerOrBuilder() {
          if (ownerBuilder_ != null) {
            return ownerBuilder_.getMessageOrBuilder();
          } else {
            return owner_;
          }
        }
        /**
         * <code>required .Address owner = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilder<
            akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder> 
            getOwnerFieldBuilder() {
          if (ownerBuilder_ == null) {
            ownerBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder>(
                    owner_,
                    getParentForChildren(),
                    isClean());
            owner_ = null;
          }
          return ownerBuilder_;
        }

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

        // repeated .Delta.Entry content = 3;
        private java.util.List<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry> content_ =
          java.util.Collections.emptyList();
        private void ensureContentIsMutable() {
          if (!((bitField0_ & 0x00000004) == 0x00000004)) {
            content_ = new java.util.ArrayList<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry>(content_);
            bitField0_ |= 0x00000004;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilder<
            akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.EntryOrBuilder> contentBuilder_;

        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public java.util.List<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry> getContentList() {
          if (contentBuilder_ == null) {
            return java.util.Collections.unmodifiableList(content_);
          } else {
            return contentBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public int getContentCount() {
          if (contentBuilder_ == null) {
            return content_.size();
          } else {
            return contentBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry getContent(int index) {
          if (contentBuilder_ == null) {
            return content_.get(index);
          } else {
            return contentBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public Builder setContent(
            int index, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry value) {
          if (contentBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureContentIsMutable();
            content_.set(index, value);
            onChanged();
          } else {
            contentBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public Builder setContent(
            int index, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder builderForValue) {
          if (contentBuilder_ == null) {
            ensureContentIsMutable();
            content_.set(index, builderForValue.build());
            onChanged();
          } else {
            contentBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public Builder addContent(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry value) {
          if (contentBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureContentIsMutable();
            content_.add(value);
            onChanged();
          } else {
            contentBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public Builder addContent(
            int index, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry value) {
          if (contentBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureContentIsMutable();
            content_.add(index, value);
            onChanged();
          } else {
            contentBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public Builder addContent(
            akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder builderForValue) {
          if (contentBuilder_ == null) {
            ensureContentIsMutable();
            content_.add(builderForValue.build());
            onChanged();
          } else {
            contentBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public Builder addContent(
            int index, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder builderForValue) {
          if (contentBuilder_ == null) {
            ensureContentIsMutable();
            content_.add(index, builderForValue.build());
            onChanged();
          } else {
            contentBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public Builder addAllContent(
            java.lang.Iterable<? extends akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry> values) {
          if (contentBuilder_ == null) {
            ensureContentIsMutable();
            super.addAll(values, content_);
            onChanged();
          } else {
            contentBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public Builder clearContent() {
          if (contentBuilder_ == null) {
            content_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
          } else {
            contentBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public Builder removeContent(int index) {
          if (contentBuilder_ == null) {
            ensureContentIsMutable();
            content_.remove(index);
            onChanged();
          } else {
            contentBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder getContentBuilder(
            int index) {
          return getContentFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.EntryOrBuilder getContentOrBuilder(
            int index) {
          if (contentBuilder_ == null) {
            return content_.get(index);  } else {
            return contentBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public java.util.List<? extends akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.EntryOrBuilder> 
             getContentOrBuilderList() {
          if (contentBuilder_ != null) {
            return contentBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(content_);
          }
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder addContentBuilder() {
          return getContentFieldBuilder().addBuilder(
              akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry.getDefaultInstance());
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder addContentBuilder(
            int index) {
          return getContentFieldBuilder().addBuilder(
              index, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry.getDefaultInstance());
        }
        /**
         * <code>repeated .Delta.Entry content = 3;</code>
         */
        public java.util.List<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder> 
             getContentBuilderList() {
          return getContentFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.EntryOrBuilder> 
            getContentFieldBuilder() {
          if (contentBuilder_ == null) {
            contentBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Entry.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.EntryOrBuilder>(
                    content_,
                    ((bitField0_ & 0x00000004) == 0x00000004),
                    getParentForChildren(),
                    isClean());
            content_ = null;
          }
          return contentBuilder_;
        }

        // @@protoc_insertion_point(builder_scope:Delta.Bucket)
      }

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

      // @@protoc_insertion_point(class_scope:Delta.Bucket)
    }

    // repeated .Delta.Bucket buckets = 1;
    public static final int BUCKETS_FIELD_NUMBER = 1;
    private java.util.List<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket> buckets_;
    /**
     * <code>repeated .Delta.Bucket buckets = 1;</code>
     */
    public java.util.List<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket> getBucketsList() {
      return buckets_;
    }
    /**
     * <code>repeated .Delta.Bucket buckets = 1;</code>
     */
    public java.util.List<? extends akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.BucketOrBuilder> 
        getBucketsOrBuilderList() {
      return buckets_;
    }
    /**
     * <code>repeated .Delta.Bucket buckets = 1;</code>
     */
    public int getBucketsCount() {
      return buckets_.size();
    }
    /**
     * <code>repeated .Delta.Bucket buckets = 1;</code>
     */
    public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket getBuckets(int index) {
      return buckets_.get(index);
    }
    /**
     * <code>repeated .Delta.Bucket buckets = 1;</code>
     */
    public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.BucketOrBuilder getBucketsOrBuilder(
        int index) {
      return buckets_.get(index);
    }

    private void initFields() {
      buckets_ = 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 < getBucketsCount(); i++) {
        if (!getBuckets(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < buckets_.size(); i++) {
        output.writeMessage(1, buckets_.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 < buckets_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, buckets_.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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code Delta}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.DeltaOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.class, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Builder.class);
      }

      // Construct using akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getBucketsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

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

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Delta_descriptor;
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta getDefaultInstanceForType() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.getDefaultInstance();
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta build() {
        akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta buildPartial() {
        akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta result = new akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta(this);
        int from_bitField0_ = bitField0_;
        if (bucketsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            buckets_ = java.util.Collections.unmodifiableList(buckets_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.buckets_ = buckets_;
        } else {
          result.buckets_ = bucketsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta) {
          return mergeFrom((akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta other) {
        if (other == akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.getDefaultInstance()) return this;
        if (bucketsBuilder_ == null) {
          if (!other.buckets_.isEmpty()) {
            if (buckets_.isEmpty()) {
              buckets_ = other.buckets_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureBucketsIsMutable();
              buckets_.addAll(other.buckets_);
            }
            onChanged();
          }
        } else {
          if (!other.buckets_.isEmpty()) {
            if (bucketsBuilder_.isEmpty()) {
              bucketsBuilder_.dispose();
              bucketsBuilder_ = null;
              buckets_ = other.buckets_;
              bitField0_ = (bitField0_ & ~0x00000001);
              bucketsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getBucketsFieldBuilder() : null;
            } else {
              bucketsBuilder_.addAllMessages(other.buckets_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

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

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

      // repeated .Delta.Bucket buckets = 1;
      private java.util.List<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket> buckets_ =
        java.util.Collections.emptyList();
      private void ensureBucketsIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          buckets_ = new java.util.ArrayList<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket>(buckets_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.BucketOrBuilder> bucketsBuilder_;

      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public java.util.List<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket> getBucketsList() {
        if (bucketsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(buckets_);
        } else {
          return bucketsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public int getBucketsCount() {
        if (bucketsBuilder_ == null) {
          return buckets_.size();
        } else {
          return bucketsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket getBuckets(int index) {
        if (bucketsBuilder_ == null) {
          return buckets_.get(index);
        } else {
          return bucketsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public Builder setBuckets(
          int index, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket value) {
        if (bucketsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureBucketsIsMutable();
          buckets_.set(index, value);
          onChanged();
        } else {
          bucketsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public Builder setBuckets(
          int index, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder builderForValue) {
        if (bucketsBuilder_ == null) {
          ensureBucketsIsMutable();
          buckets_.set(index, builderForValue.build());
          onChanged();
        } else {
          bucketsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public Builder addBuckets(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket value) {
        if (bucketsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureBucketsIsMutable();
          buckets_.add(value);
          onChanged();
        } else {
          bucketsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public Builder addBuckets(
          int index, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket value) {
        if (bucketsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureBucketsIsMutable();
          buckets_.add(index, value);
          onChanged();
        } else {
          bucketsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public Builder addBuckets(
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder builderForValue) {
        if (bucketsBuilder_ == null) {
          ensureBucketsIsMutable();
          buckets_.add(builderForValue.build());
          onChanged();
        } else {
          bucketsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public Builder addBuckets(
          int index, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder builderForValue) {
        if (bucketsBuilder_ == null) {
          ensureBucketsIsMutable();
          buckets_.add(index, builderForValue.build());
          onChanged();
        } else {
          bucketsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public Builder addAllBuckets(
          java.lang.Iterable<? extends akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket> values) {
        if (bucketsBuilder_ == null) {
          ensureBucketsIsMutable();
          super.addAll(values, buckets_);
          onChanged();
        } else {
          bucketsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public Builder clearBuckets() {
        if (bucketsBuilder_ == null) {
          buckets_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          bucketsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public Builder removeBuckets(int index) {
        if (bucketsBuilder_ == null) {
          ensureBucketsIsMutable();
          buckets_.remove(index);
          onChanged();
        } else {
          bucketsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder getBucketsBuilder(
          int index) {
        return getBucketsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.BucketOrBuilder getBucketsOrBuilder(
          int index) {
        if (bucketsBuilder_ == null) {
          return buckets_.get(index);  } else {
          return bucketsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public java.util.List<? extends akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.BucketOrBuilder> 
           getBucketsOrBuilderList() {
        if (bucketsBuilder_ != null) {
          return bucketsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(buckets_);
        }
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder addBucketsBuilder() {
        return getBucketsFieldBuilder().addBuilder(
            akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.getDefaultInstance());
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder addBucketsBuilder(
          int index) {
        return getBucketsFieldBuilder().addBuilder(
            index, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.getDefaultInstance());
      }
      /**
       * <code>repeated .Delta.Bucket buckets = 1;</code>
       */
      public java.util.List<akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder> 
           getBucketsBuilderList() {
        return getBucketsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.BucketOrBuilder> 
          getBucketsFieldBuilder() {
        if (bucketsBuilder_ == null) {
          bucketsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.Bucket.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Delta.BucketOrBuilder>(
                  buckets_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          buckets_ = null;
        }
        return bucketsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:Delta)
    }

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

    // @@protoc_insertion_point(class_scope:Delta)
  }

  public interface AddressOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // required string system = 1;
    /**
     * <code>required string system = 1;</code>
     */
    boolean hasSystem();
    /**
     * <code>required string system = 1;</code>
     */
    java.lang.String getSystem();
    /**
     * <code>required string system = 1;</code>
     */
    com.google.protobuf.ByteString
        getSystemBytes();

    // required string hostname = 2;
    /**
     * <code>required string hostname = 2;</code>
     */
    boolean hasHostname();
    /**
     * <code>required string hostname = 2;</code>
     */
    java.lang.String getHostname();
    /**
     * <code>required string hostname = 2;</code>
     */
    com.google.protobuf.ByteString
        getHostnameBytes();

    // required uint32 port = 3;
    /**
     * <code>required uint32 port = 3;</code>
     */
    boolean hasPort();
    /**
     * <code>required uint32 port = 3;</code>
     */
    int getPort();

    // optional string protocol = 4;
    /**
     * <code>optional string protocol = 4;</code>
     */
    boolean hasProtocol();
    /**
     * <code>optional string protocol = 4;</code>
     */
    java.lang.String getProtocol();
    /**
     * <code>optional string protocol = 4;</code>
     */
    com.google.protobuf.ByteString
        getProtocolBytes();
  }
  /**
   * Protobuf type {@code Address}
   *
   * <pre>
   **
   * Defines a remote address.
   * </pre>
   */
  public static final class Address extends
      com.google.protobuf.GeneratedMessage
      implements AddressOrBuilder {
    // Use Address.newBuilder() to construct.
    private Address(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private Address(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public Address getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private Address(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.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;
              system_ = input.readBytes();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              hostname_ = input.readBytes();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              port_ = input.readUInt32();
              break;
            }
            case 34: {
              bitField0_ |= 0x00000008;
              protocol_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Address_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Address_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.class, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.Builder.class);
    }

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

    @java.lang.Override
    public com.google.protobuf.Parser<Address> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // required string system = 1;
    public static final int SYSTEM_FIELD_NUMBER = 1;
    private java.lang.Object system_;
    /**
     * <code>required string system = 1;</code>
     */
    public boolean hasSystem() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required string system = 1;</code>
     */
    public java.lang.String getSystem() {
      java.lang.Object ref = system_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          system_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string system = 1;</code>
     */
    public com.google.protobuf.ByteString
        getSystemBytes() {
      java.lang.Object ref = system_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        system_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // required string hostname = 2;
    public static final int HOSTNAME_FIELD_NUMBER = 2;
    private java.lang.Object hostname_;
    /**
     * <code>required string hostname = 2;</code>
     */
    public boolean hasHostname() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>required string hostname = 2;</code>
     */
    public java.lang.String getHostname() {
      java.lang.Object ref = hostname_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          hostname_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string hostname = 2;</code>
     */
    public com.google.protobuf.ByteString
        getHostnameBytes() {
      java.lang.Object ref = hostname_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        hostname_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // required uint32 port = 3;
    public static final int PORT_FIELD_NUMBER = 3;
    private int port_;
    /**
     * <code>required uint32 port = 3;</code>
     */
    public boolean hasPort() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>required uint32 port = 3;</code>
     */
    public int getPort() {
      return port_;
    }

    // optional string protocol = 4;
    public static final int PROTOCOL_FIELD_NUMBER = 4;
    private java.lang.Object protocol_;
    /**
     * <code>optional string protocol = 4;</code>
     */
    public boolean hasProtocol() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional string protocol = 4;</code>
     */
    public java.lang.String getProtocol() {
      java.lang.Object ref = protocol_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          protocol_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string protocol = 4;</code>
     */
    public com.google.protobuf.ByteString
        getProtocolBytes() {
      java.lang.Object ref = protocol_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        protocol_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      system_ = "";
      hostname_ = "";
      port_ = 0;
      protocol_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasSystem()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasHostname()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasPort()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getSystemBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getHostnameBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(3, port_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBytes(4, getProtocolBytes());
      }
      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 += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getSystemBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getHostnameBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, port_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, getProtocolBytes());
      }
      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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code Address}
     *
     * <pre>
     **
     * Defines a remote address.
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.AddressOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Address_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Address_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.class, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.Builder.class);
      }

      // Construct using akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        system_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        hostname_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        port_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        protocol_ = "";
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Address_descriptor;
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address getDefaultInstanceForType() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance();
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address build() {
        akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address buildPartial() {
        akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address result = new akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.system_ = system_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.hostname_ = hostname_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.port_ = port_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.protocol_ = protocol_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address) {
          return mergeFrom((akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address other) {
        if (other == akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Address.getDefaultInstance()) return this;
        if (other.hasSystem()) {
          bitField0_ |= 0x00000001;
          system_ = other.system_;
          onChanged();
        }
        if (other.hasHostname()) {
          bitField0_ |= 0x00000002;
          hostname_ = other.hostname_;
          onChanged();
        }
        if (other.hasPort()) {
          setPort(other.getPort());
        }
        if (other.hasProtocol()) {
          bitField0_ |= 0x00000008;
          protocol_ = other.protocol_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasSystem()) {
          
          return false;
        }
        if (!hasHostname()) {
          
          return false;
        }
        if (!hasPort()) {
          
          return false;
        }
        return true;
      }

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

      // required string system = 1;
      private java.lang.Object system_ = "";
      /**
       * <code>required string system = 1;</code>
       */
      public boolean hasSystem() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required string system = 1;</code>
       */
      public java.lang.String getSystem() {
        java.lang.Object ref = system_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          system_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string system = 1;</code>
       */
      public com.google.protobuf.ByteString
          getSystemBytes() {
        java.lang.Object ref = system_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          system_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>required string system = 1;</code>
       */
      public Builder setSystem(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        system_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string system = 1;</code>
       */
      public Builder clearSystem() {
        bitField0_ = (bitField0_ & ~0x00000001);
        system_ = getDefaultInstance().getSystem();
        onChanged();
        return this;
      }
      /**
       * <code>required string system = 1;</code>
       */
      public Builder setSystemBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        system_ = value;
        onChanged();
        return this;
      }

      // required string hostname = 2;
      private java.lang.Object hostname_ = "";
      /**
       * <code>required string hostname = 2;</code>
       */
      public boolean hasHostname() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required string hostname = 2;</code>
       */
      public java.lang.String getHostname() {
        java.lang.Object ref = hostname_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          hostname_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string hostname = 2;</code>
       */
      public com.google.protobuf.ByteString
          getHostnameBytes() {
        java.lang.Object ref = hostname_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          hostname_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>required string hostname = 2;</code>
       */
      public Builder setHostname(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        hostname_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string hostname = 2;</code>
       */
      public Builder clearHostname() {
        bitField0_ = (bitField0_ & ~0x00000002);
        hostname_ = getDefaultInstance().getHostname();
        onChanged();
        return this;
      }
      /**
       * <code>required string hostname = 2;</code>
       */
      public Builder setHostnameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        hostname_ = value;
        onChanged();
        return this;
      }

      // required uint32 port = 3;
      private int port_ ;
      /**
       * <code>required uint32 port = 3;</code>
       */
      public boolean hasPort() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>required uint32 port = 3;</code>
       */
      public int getPort() {
        return port_;
      }
      /**
       * <code>required uint32 port = 3;</code>
       */
      public Builder setPort(int value) {
        bitField0_ |= 0x00000004;
        port_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required uint32 port = 3;</code>
       */
      public Builder clearPort() {
        bitField0_ = (bitField0_ & ~0x00000004);
        port_ = 0;
        onChanged();
        return this;
      }

      // optional string protocol = 4;
      private java.lang.Object protocol_ = "";
      /**
       * <code>optional string protocol = 4;</code>
       */
      public boolean hasProtocol() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional string protocol = 4;</code>
       */
      public java.lang.String getProtocol() {
        java.lang.Object ref = protocol_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          protocol_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string protocol = 4;</code>
       */
      public com.google.protobuf.ByteString
          getProtocolBytes() {
        java.lang.Object ref = protocol_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          protocol_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string protocol = 4;</code>
       */
      public Builder setProtocol(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        protocol_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string protocol = 4;</code>
       */
      public Builder clearProtocol() {
        bitField0_ = (bitField0_ & ~0x00000008);
        protocol_ = getDefaultInstance().getProtocol();
        onChanged();
        return this;
      }
      /**
       * <code>optional string protocol = 4;</code>
       */
      public Builder setProtocolBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        protocol_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:Address)
    }

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

    // @@protoc_insertion_point(class_scope:Address)
  }

  public interface SendOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // required string path = 1;
    /**
     * <code>required string path = 1;</code>
     */
    boolean hasPath();
    /**
     * <code>required string path = 1;</code>
     */
    java.lang.String getPath();
    /**
     * <code>required string path = 1;</code>
     */
    com.google.protobuf.ByteString
        getPathBytes();

    // required bool localAffinity = 2;
    /**
     * <code>required bool localAffinity = 2;</code>
     */
    boolean hasLocalAffinity();
    /**
     * <code>required bool localAffinity = 2;</code>
     */
    boolean getLocalAffinity();

    // required .Payload payload = 3;
    /**
     * <code>required .Payload payload = 3;</code>
     */
    boolean hasPayload();
    /**
     * <code>required .Payload payload = 3;</code>
     */
    akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload getPayload();
    /**
     * <code>required .Payload payload = 3;</code>
     */
    akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder();
  }
  /**
   * Protobuf type {@code Send}
   *
   * <pre>
   **
   * Send normally local, but it is also used by the ClusterClient.
   * </pre>
   */
  public static final class Send extends
      com.google.protobuf.GeneratedMessage
      implements SendOrBuilder {
    // Use Send.newBuilder() to construct.
    private Send(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private Send(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public Send getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private Send(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.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;
              path_ = input.readBytes();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              localAffinity_ = input.readBool();
              break;
            }
            case 26: {
              akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = payload_.toBuilder();
              }
              payload_ = input.readMessage(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(payload_);
                payload_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Send_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Send_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send.class, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send.Builder.class);
    }

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

    @java.lang.Override
    public com.google.protobuf.Parser<Send> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // required string path = 1;
    public static final int PATH_FIELD_NUMBER = 1;
    private java.lang.Object path_;
    /**
     * <code>required string path = 1;</code>
     */
    public boolean hasPath() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required string path = 1;</code>
     */
    public java.lang.String getPath() {
      java.lang.Object ref = path_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          path_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string path = 1;</code>
     */
    public com.google.protobuf.ByteString
        getPathBytes() {
      java.lang.Object ref = path_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        path_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // required bool localAffinity = 2;
    public static final int LOCALAFFINITY_FIELD_NUMBER = 2;
    private boolean localAffinity_;
    /**
     * <code>required bool localAffinity = 2;</code>
     */
    public boolean hasLocalAffinity() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>required bool localAffinity = 2;</code>
     */
    public boolean getLocalAffinity() {
      return localAffinity_;
    }

    // required .Payload payload = 3;
    public static final int PAYLOAD_FIELD_NUMBER = 3;
    private akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload payload_;
    /**
     * <code>required .Payload payload = 3;</code>
     */
    public boolean hasPayload() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>required .Payload payload = 3;</code>
     */
    public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload getPayload() {
      return payload_;
    }
    /**
     * <code>required .Payload payload = 3;</code>
     */
    public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder() {
      return payload_;
    }

    private void initFields() {
      path_ = "";
      localAffinity_ = false;
      payload_ = akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasPath()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasLocalAffinity()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasPayload()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getPayload().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getPathBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBool(2, localAffinity_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, payload_);
      }
      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 += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getPathBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, localAffinity_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, payload_);
      }
      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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code Send}
     *
     * <pre>
     **
     * Send normally local, but it is also used by the ClusterClient.
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Send_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Send_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send.class, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send.Builder.class);
      }

      // Construct using akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getPayloadFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        path_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        localAffinity_ = false;
        bitField0_ = (bitField0_ & ~0x00000002);
        if (payloadBuilder_ == null) {
          payload_ = akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance();
        } else {
          payloadBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Send_descriptor;
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send getDefaultInstanceForType() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send.getDefaultInstance();
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send build() {
        akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send buildPartial() {
        akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send result = new akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.path_ = path_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.localAffinity_ = localAffinity_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (payloadBuilder_ == null) {
          result.payload_ = payload_;
        } else {
          result.payload_ = payloadBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send) {
          return mergeFrom((akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send other) {
        if (other == akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Send.getDefaultInstance()) return this;
        if (other.hasPath()) {
          bitField0_ |= 0x00000001;
          path_ = other.path_;
          onChanged();
        }
        if (other.hasLocalAffinity()) {
          setLocalAffinity(other.getLocalAffinity());
        }
        if (other.hasPayload()) {
          mergePayload(other.getPayload());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasPath()) {
          
          return false;
        }
        if (!hasLocalAffinity()) {
          
          return false;
        }
        if (!hasPayload()) {
          
          return false;
        }
        if (!getPayload().isInitialized()) {
          
          return false;
        }
        return true;
      }

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

      // required string path = 1;
      private java.lang.Object path_ = "";
      /**
       * <code>required string path = 1;</code>
       */
      public boolean hasPath() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required string path = 1;</code>
       */
      public java.lang.String getPath() {
        java.lang.Object ref = path_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          path_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string path = 1;</code>
       */
      public com.google.protobuf.ByteString
          getPathBytes() {
        java.lang.Object ref = path_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          path_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>required string path = 1;</code>
       */
      public Builder setPath(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        path_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string path = 1;</code>
       */
      public Builder clearPath() {
        bitField0_ = (bitField0_ & ~0x00000001);
        path_ = getDefaultInstance().getPath();
        onChanged();
        return this;
      }
      /**
       * <code>required string path = 1;</code>
       */
      public Builder setPathBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        path_ = value;
        onChanged();
        return this;
      }

      // required bool localAffinity = 2;
      private boolean localAffinity_ ;
      /**
       * <code>required bool localAffinity = 2;</code>
       */
      public boolean hasLocalAffinity() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required bool localAffinity = 2;</code>
       */
      public boolean getLocalAffinity() {
        return localAffinity_;
      }
      /**
       * <code>required bool localAffinity = 2;</code>
       */
      public Builder setLocalAffinity(boolean value) {
        bitField0_ |= 0x00000002;
        localAffinity_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bool localAffinity = 2;</code>
       */
      public Builder clearLocalAffinity() {
        bitField0_ = (bitField0_ & ~0x00000002);
        localAffinity_ = false;
        onChanged();
        return this;
      }

      // required .Payload payload = 3;
      private akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload payload_ = akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder> payloadBuilder_;
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public boolean hasPayload() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload getPayload() {
        if (payloadBuilder_ == null) {
          return payload_;
        } else {
          return payloadBuilder_.getMessage();
        }
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder setPayload(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload value) {
        if (payloadBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          payload_ = value;
          onChanged();
        } else {
          payloadBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder setPayload(
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.Builder builderForValue) {
        if (payloadBuilder_ == null) {
          payload_ = builderForValue.build();
          onChanged();
        } else {
          payloadBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder mergePayload(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload value) {
        if (payloadBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              payload_ != akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance()) {
            payload_ =
              akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.newBuilder(payload_).mergeFrom(value).buildPartial();
          } else {
            payload_ = value;
          }
          onChanged();
        } else {
          payloadBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder clearPayload() {
        if (payloadBuilder_ == null) {
          payload_ = akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance();
          onChanged();
        } else {
          payloadBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.Builder getPayloadBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getPayloadFieldBuilder().getBuilder();
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder() {
        if (payloadBuilder_ != null) {
          return payloadBuilder_.getMessageOrBuilder();
        } else {
          return payload_;
        }
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder> 
          getPayloadFieldBuilder() {
        if (payloadBuilder_ == null) {
          payloadBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder>(
                  payload_,
                  getParentForChildren(),
                  isClean());
          payload_ = null;
        }
        return payloadBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:Send)
    }

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

    // @@protoc_insertion_point(class_scope:Send)
  }

  public interface SendToAllOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // required string path = 1;
    /**
     * <code>required string path = 1;</code>
     */
    boolean hasPath();
    /**
     * <code>required string path = 1;</code>
     */
    java.lang.String getPath();
    /**
     * <code>required string path = 1;</code>
     */
    com.google.protobuf.ByteString
        getPathBytes();

    // required bool allButSelf = 2;
    /**
     * <code>required bool allButSelf = 2;</code>
     */
    boolean hasAllButSelf();
    /**
     * <code>required bool allButSelf = 2;</code>
     */
    boolean getAllButSelf();

    // required .Payload payload = 3;
    /**
     * <code>required .Payload payload = 3;</code>
     */
    boolean hasPayload();
    /**
     * <code>required .Payload payload = 3;</code>
     */
    akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload getPayload();
    /**
     * <code>required .Payload payload = 3;</code>
     */
    akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder();
  }
  /**
   * Protobuf type {@code SendToAll}
   *
   * <pre>
   **
   * SendToAll normally local, but it is also used by the ClusterClient.
   * </pre>
   */
  public static final class SendToAll extends
      com.google.protobuf.GeneratedMessage
      implements SendToAllOrBuilder {
    // Use SendToAll.newBuilder() to construct.
    private SendToAll(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private SendToAll(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public SendToAll getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private SendToAll(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.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;
              path_ = input.readBytes();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              allButSelf_ = input.readBool();
              break;
            }
            case 26: {
              akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = payload_.toBuilder();
              }
              payload_ = input.readMessage(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(payload_);
                payload_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_SendToAll_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_SendToAll_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll.class, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll.Builder.class);
    }

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

    @java.lang.Override
    public com.google.protobuf.Parser<SendToAll> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // required string path = 1;
    public static final int PATH_FIELD_NUMBER = 1;
    private java.lang.Object path_;
    /**
     * <code>required string path = 1;</code>
     */
    public boolean hasPath() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required string path = 1;</code>
     */
    public java.lang.String getPath() {
      java.lang.Object ref = path_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          path_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string path = 1;</code>
     */
    public com.google.protobuf.ByteString
        getPathBytes() {
      java.lang.Object ref = path_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        path_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // required bool allButSelf = 2;
    public static final int ALLBUTSELF_FIELD_NUMBER = 2;
    private boolean allButSelf_;
    /**
     * <code>required bool allButSelf = 2;</code>
     */
    public boolean hasAllButSelf() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>required bool allButSelf = 2;</code>
     */
    public boolean getAllButSelf() {
      return allButSelf_;
    }

    // required .Payload payload = 3;
    public static final int PAYLOAD_FIELD_NUMBER = 3;
    private akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload payload_;
    /**
     * <code>required .Payload payload = 3;</code>
     */
    public boolean hasPayload() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>required .Payload payload = 3;</code>
     */
    public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload getPayload() {
      return payload_;
    }
    /**
     * <code>required .Payload payload = 3;</code>
     */
    public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder() {
      return payload_;
    }

    private void initFields() {
      path_ = "";
      allButSelf_ = false;
      payload_ = akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasPath()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasAllButSelf()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasPayload()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getPayload().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getPathBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBool(2, allButSelf_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, payload_);
      }
      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 += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getPathBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, allButSelf_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, payload_);
      }
      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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code SendToAll}
     *
     * <pre>
     **
     * SendToAll normally local, but it is also used by the ClusterClient.
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAllOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_SendToAll_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_SendToAll_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll.class, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll.Builder.class);
      }

      // Construct using akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getPayloadFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        path_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        allButSelf_ = false;
        bitField0_ = (bitField0_ & ~0x00000002);
        if (payloadBuilder_ == null) {
          payload_ = akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance();
        } else {
          payloadBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_SendToAll_descriptor;
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll getDefaultInstanceForType() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll.getDefaultInstance();
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll build() {
        akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll buildPartial() {
        akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll result = new akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.path_ = path_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.allButSelf_ = allButSelf_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (payloadBuilder_ == null) {
          result.payload_ = payload_;
        } else {
          result.payload_ = payloadBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll) {
          return mergeFrom((akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll other) {
        if (other == akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.SendToAll.getDefaultInstance()) return this;
        if (other.hasPath()) {
          bitField0_ |= 0x00000001;
          path_ = other.path_;
          onChanged();
        }
        if (other.hasAllButSelf()) {
          setAllButSelf(other.getAllButSelf());
        }
        if (other.hasPayload()) {
          mergePayload(other.getPayload());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasPath()) {
          
          return false;
        }
        if (!hasAllButSelf()) {
          
          return false;
        }
        if (!hasPayload()) {
          
          return false;
        }
        if (!getPayload().isInitialized()) {
          
          return false;
        }
        return true;
      }

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

      // required string path = 1;
      private java.lang.Object path_ = "";
      /**
       * <code>required string path = 1;</code>
       */
      public boolean hasPath() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required string path = 1;</code>
       */
      public java.lang.String getPath() {
        java.lang.Object ref = path_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          path_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string path = 1;</code>
       */
      public com.google.protobuf.ByteString
          getPathBytes() {
        java.lang.Object ref = path_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          path_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>required string path = 1;</code>
       */
      public Builder setPath(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        path_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string path = 1;</code>
       */
      public Builder clearPath() {
        bitField0_ = (bitField0_ & ~0x00000001);
        path_ = getDefaultInstance().getPath();
        onChanged();
        return this;
      }
      /**
       * <code>required string path = 1;</code>
       */
      public Builder setPathBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        path_ = value;
        onChanged();
        return this;
      }

      // required bool allButSelf = 2;
      private boolean allButSelf_ ;
      /**
       * <code>required bool allButSelf = 2;</code>
       */
      public boolean hasAllButSelf() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required bool allButSelf = 2;</code>
       */
      public boolean getAllButSelf() {
        return allButSelf_;
      }
      /**
       * <code>required bool allButSelf = 2;</code>
       */
      public Builder setAllButSelf(boolean value) {
        bitField0_ |= 0x00000002;
        allButSelf_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bool allButSelf = 2;</code>
       */
      public Builder clearAllButSelf() {
        bitField0_ = (bitField0_ & ~0x00000002);
        allButSelf_ = false;
        onChanged();
        return this;
      }

      // required .Payload payload = 3;
      private akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload payload_ = akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder> payloadBuilder_;
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public boolean hasPayload() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload getPayload() {
        if (payloadBuilder_ == null) {
          return payload_;
        } else {
          return payloadBuilder_.getMessage();
        }
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder setPayload(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload value) {
        if (payloadBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          payload_ = value;
          onChanged();
        } else {
          payloadBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder setPayload(
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.Builder builderForValue) {
        if (payloadBuilder_ == null) {
          payload_ = builderForValue.build();
          onChanged();
        } else {
          payloadBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder mergePayload(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload value) {
        if (payloadBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              payload_ != akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance()) {
            payload_ =
              akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.newBuilder(payload_).mergeFrom(value).buildPartial();
          } else {
            payload_ = value;
          }
          onChanged();
        } else {
          payloadBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder clearPayload() {
        if (payloadBuilder_ == null) {
          payload_ = akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance();
          onChanged();
        } else {
          payloadBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.Builder getPayloadBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getPayloadFieldBuilder().getBuilder();
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder() {
        if (payloadBuilder_ != null) {
          return payloadBuilder_.getMessageOrBuilder();
        } else {
          return payload_;
        }
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder> 
          getPayloadFieldBuilder() {
        if (payloadBuilder_ == null) {
          payloadBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder>(
                  payload_,
                  getParentForChildren(),
                  isClean());
          payload_ = null;
        }
        return payloadBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:SendToAll)
    }

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

    // @@protoc_insertion_point(class_scope:SendToAll)
  }

  public interface PublishOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // required string topic = 1;
    /**
     * <code>required string topic = 1;</code>
     */
    boolean hasTopic();
    /**
     * <code>required string topic = 1;</code>
     */
    java.lang.String getTopic();
    /**
     * <code>required string topic = 1;</code>
     */
    com.google.protobuf.ByteString
        getTopicBytes();

    // required .Payload payload = 3;
    /**
     * <code>required .Payload payload = 3;</code>
     */
    boolean hasPayload();
    /**
     * <code>required .Payload payload = 3;</code>
     */
    akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload getPayload();
    /**
     * <code>required .Payload payload = 3;</code>
     */
    akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder();
  }
  /**
   * Protobuf type {@code Publish}
   *
   * <pre>
   **
   * Publish normally local, but it is also used by the ClusterClient.
   * </pre>
   */
  public static final class Publish extends
      com.google.protobuf.GeneratedMessage
      implements PublishOrBuilder {
    // Use Publish.newBuilder() to construct.
    private Publish(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private Publish(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public Publish getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private Publish(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.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;
              topic_ = input.readBytes();
              break;
            }
            case 26: {
              akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = payload_.toBuilder();
              }
              payload_ = input.readMessage(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(payload_);
                payload_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Publish_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Publish_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish.class, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish.Builder.class);
    }

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

    @java.lang.Override
    public com.google.protobuf.Parser<Publish> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // required string topic = 1;
    public static final int TOPIC_FIELD_NUMBER = 1;
    private java.lang.Object topic_;
    /**
     * <code>required string topic = 1;</code>
     */
    public boolean hasTopic() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required string topic = 1;</code>
     */
    public java.lang.String getTopic() {
      java.lang.Object ref = topic_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          topic_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string topic = 1;</code>
     */
    public com.google.protobuf.ByteString
        getTopicBytes() {
      java.lang.Object ref = topic_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        topic_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // required .Payload payload = 3;
    public static final int PAYLOAD_FIELD_NUMBER = 3;
    private akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload payload_;
    /**
     * <code>required .Payload payload = 3;</code>
     */
    public boolean hasPayload() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>required .Payload payload = 3;</code>
     */
    public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload getPayload() {
      return payload_;
    }
    /**
     * <code>required .Payload payload = 3;</code>
     */
    public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder() {
      return payload_;
    }

    private void initFields() {
      topic_ = "";
      payload_ = akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasTopic()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasPayload()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getPayload().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getTopicBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(3, payload_);
      }
      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 += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getTopicBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, payload_);
      }
      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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code Publish}
     *
     * <pre>
     **
     * Publish normally local, but it is also used by the ClusterClient.
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.PublishOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Publish_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Publish_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish.class, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish.Builder.class);
      }

      // Construct using akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getPayloadFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        topic_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        if (payloadBuilder_ == null) {
          payload_ = akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance();
        } else {
          payloadBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Publish_descriptor;
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish getDefaultInstanceForType() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish.getDefaultInstance();
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish build() {
        akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish buildPartial() {
        akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish result = new akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.topic_ = topic_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (payloadBuilder_ == null) {
          result.payload_ = payload_;
        } else {
          result.payload_ = payloadBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish) {
          return mergeFrom((akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish other) {
        if (other == akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Publish.getDefaultInstance()) return this;
        if (other.hasTopic()) {
          bitField0_ |= 0x00000001;
          topic_ = other.topic_;
          onChanged();
        }
        if (other.hasPayload()) {
          mergePayload(other.getPayload());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasTopic()) {
          
          return false;
        }
        if (!hasPayload()) {
          
          return false;
        }
        if (!getPayload().isInitialized()) {
          
          return false;
        }
        return true;
      }

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

      // required string topic = 1;
      private java.lang.Object topic_ = "";
      /**
       * <code>required string topic = 1;</code>
       */
      public boolean hasTopic() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required string topic = 1;</code>
       */
      public java.lang.String getTopic() {
        java.lang.Object ref = topic_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          topic_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string topic = 1;</code>
       */
      public com.google.protobuf.ByteString
          getTopicBytes() {
        java.lang.Object ref = topic_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          topic_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>required string topic = 1;</code>
       */
      public Builder setTopic(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        topic_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string topic = 1;</code>
       */
      public Builder clearTopic() {
        bitField0_ = (bitField0_ & ~0x00000001);
        topic_ = getDefaultInstance().getTopic();
        onChanged();
        return this;
      }
      /**
       * <code>required string topic = 1;</code>
       */
      public Builder setTopicBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        topic_ = value;
        onChanged();
        return this;
      }

      // required .Payload payload = 3;
      private akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload payload_ = akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder> payloadBuilder_;
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public boolean hasPayload() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload getPayload() {
        if (payloadBuilder_ == null) {
          return payload_;
        } else {
          return payloadBuilder_.getMessage();
        }
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder setPayload(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload value) {
        if (payloadBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          payload_ = value;
          onChanged();
        } else {
          payloadBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder setPayload(
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.Builder builderForValue) {
        if (payloadBuilder_ == null) {
          payload_ = builderForValue.build();
          onChanged();
        } else {
          payloadBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder mergePayload(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload value) {
        if (payloadBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              payload_ != akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance()) {
            payload_ =
              akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.newBuilder(payload_).mergeFrom(value).buildPartial();
          } else {
            payload_ = value;
          }
          onChanged();
        } else {
          payloadBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public Builder clearPayload() {
        if (payloadBuilder_ == null) {
          payload_ = akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance();
          onChanged();
        } else {
          payloadBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.Builder getPayloadBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getPayloadFieldBuilder().getBuilder();
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder getPayloadOrBuilder() {
        if (payloadBuilder_ != null) {
          return payloadBuilder_.getMessageOrBuilder();
        } else {
          return payload_;
        }
      }
      /**
       * <code>required .Payload payload = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder> 
          getPayloadFieldBuilder() {
        if (payloadBuilder_ == null) {
          payloadBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.Builder, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder>(
                  payload_,
                  getParentForChildren(),
                  isClean());
          payload_ = null;
        }
        return payloadBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:Publish)
    }

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

    // @@protoc_insertion_point(class_scope:Publish)
  }

  public interface PayloadOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // required bytes enclosedMessage = 1;
    /**
     * <code>required bytes enclosedMessage = 1;</code>
     */
    boolean hasEnclosedMessage();
    /**
     * <code>required bytes enclosedMessage = 1;</code>
     */
    com.google.protobuf.ByteString getEnclosedMessage();

    // required int32 serializerId = 2;
    /**
     * <code>required int32 serializerId = 2;</code>
     */
    boolean hasSerializerId();
    /**
     * <code>required int32 serializerId = 2;</code>
     */
    int getSerializerId();

    // optional bytes messageManifest = 4;
    /**
     * <code>optional bytes messageManifest = 4;</code>
     */
    boolean hasMessageManifest();
    /**
     * <code>optional bytes messageManifest = 4;</code>
     */
    com.google.protobuf.ByteString getMessageManifest();
  }
  /**
   * Protobuf type {@code Payload}
   */
  public static final class Payload extends
      com.google.protobuf.GeneratedMessage
      implements PayloadOrBuilder {
    // Use Payload.newBuilder() to construct.
    private Payload(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private Payload(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public Payload getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private Payload(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.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;
              enclosedMessage_ = input.readBytes();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              serializerId_ = input.readInt32();
              break;
            }
            case 34: {
              bitField0_ |= 0x00000004;
              messageManifest_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Payload_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Payload_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.class, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.Builder.class);
    }

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

    @java.lang.Override
    public com.google.protobuf.Parser<Payload> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // required bytes enclosedMessage = 1;
    public static final int ENCLOSEDMESSAGE_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString enclosedMessage_;
    /**
     * <code>required bytes enclosedMessage = 1;</code>
     */
    public boolean hasEnclosedMessage() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required bytes enclosedMessage = 1;</code>
     */
    public com.google.protobuf.ByteString getEnclosedMessage() {
      return enclosedMessage_;
    }

    // required int32 serializerId = 2;
    public static final int SERIALIZERID_FIELD_NUMBER = 2;
    private int serializerId_;
    /**
     * <code>required int32 serializerId = 2;</code>
     */
    public boolean hasSerializerId() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>required int32 serializerId = 2;</code>
     */
    public int getSerializerId() {
      return serializerId_;
    }

    // optional bytes messageManifest = 4;
    public static final int MESSAGEMANIFEST_FIELD_NUMBER = 4;
    private com.google.protobuf.ByteString messageManifest_;
    /**
     * <code>optional bytes messageManifest = 4;</code>
     */
    public boolean hasMessageManifest() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional bytes messageManifest = 4;</code>
     */
    public com.google.protobuf.ByteString getMessageManifest() {
      return messageManifest_;
    }

    private void initFields() {
      enclosedMessage_ = com.google.protobuf.ByteString.EMPTY;
      serializerId_ = 0;
      messageManifest_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

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

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, enclosedMessage_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, serializerId_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(4, messageManifest_);
      }
      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 += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, enclosedMessage_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, serializerId_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, messageManifest_);
      }
      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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.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.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code Payload}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.PayloadOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Payload_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Payload_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.class, akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.Builder.class);
      }

      // Construct using akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        enclosedMessage_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        serializerId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        messageManifest_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.internal_static_Payload_descriptor;
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload getDefaultInstanceForType() {
        return akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance();
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload build() {
        akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload buildPartial() {
        akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload result = new akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.enclosedMessage_ = enclosedMessage_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.serializerId_ = serializerId_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.messageManifest_ = messageManifest_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload) {
          return mergeFrom((akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload other) {
        if (other == akka.contrib.pattern.protobuf.msg.DistributedPubSubMessages.Payload.getDefaultInstance()) return this;
        if (other.hasEnclosedMessage()) {
          setEnclosedMessage(other.getEnclosedMessage());
        }
        if (other.hasSerializerId()) {
          setSerializerId(other.getSerializerId());
        }
        if (other.hasMessageManifest()) {
          setMessageManifest(other.getMessageManifest());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

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

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

      // required bytes enclosedMessage = 1;
      private com.google.protobuf.ByteString enclosedMessage_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>required bytes enclosedMessage = 1;</code>
       */
      public boolean hasEnclosedMessage() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required bytes enclosedMessage = 1;</code>
       */
      public com.google.protobuf.ByteString getEnclosedMessage() {
        return enclosedMessage_;
      }
      /**
       * <code>required bytes enclosedMessage = 1;</code>
       */
      public Builder setEnclosedMessage(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        enclosedMessage_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes enclosedMessage = 1;</code>
       */
      public Builder clearEnclosedMessage() {
        bitField0_ = (bitField0_ & ~0x00000001);
        enclosedMessage_ = getDefaultInstance().getEnclosedMessage();
        onChanged();
        return this;
      }

      // required int32 serializerId = 2;
      private int serializerId_ ;
      /**
       * <code>required int32 serializerId = 2;</code>
       */
      public boolean hasSerializerId() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required int32 serializerId = 2;</code>
       */
      public int getSerializerId() {
        return serializerId_;
      }
      /**
       * <code>required int32 serializerId = 2;</code>
       */
      public Builder setSerializerId(int value) {
        bitField0_ |= 0x00000002;
        serializerId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required int32 serializerId = 2;</code>
       */
      public Builder clearSerializerId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        serializerId_ = 0;
        onChanged();
        return this;
      }

      // optional bytes messageManifest = 4;
      private com.google.protobuf.ByteString messageManifest_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes messageManifest = 4;</code>
       */
      public boolean hasMessageManifest() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional bytes messageManifest = 4;</code>
       */
      public com.google.protobuf.ByteString getMessageManifest() {
        return messageManifest_;
      }
      /**
       * <code>optional bytes messageManifest = 4;</code>
       */
      public Builder setMessageManifest(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        messageManifest_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes messageManifest = 4;</code>
       */
      public Builder clearMessageManifest() {
        bitField0_ = (bitField0_ & ~0x00000004);
        messageManifest_ = getDefaultInstance().getMessageManifest();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:Payload)
    }

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

    // @@protoc_insertion_point(class_scope:Payload)
  }

  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_Status_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_Status_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_Status_Version_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_Status_Version_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_Delta_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_Delta_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_Delta_Entry_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_Delta_Entry_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_Delta_Bucket_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_Delta_Bucket_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_Address_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_Address_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_Send_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_Send_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_SendToAll_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_SendToAll_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_Publish_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_Publish_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_Payload_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_Payload_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\037DistributedPubSubMessages.proto\"d\n\006Sta" +
      "tus\022!\n\010versions\030\001 \003(\0132\017.Status.Version\0327" +
      "\n\007Version\022\031\n\007address\030\001 \002(\0132\010.Address\022\021\n\t" +
      "timestamp\030\002 \002(\003\"\256\001\n\005Delta\022\036\n\007buckets\030\001 \003" +
      "(\0132\r.Delta.Bucket\0322\n\005Entry\022\013\n\003key\030\001 \002(\t\022" +
      "\017\n\007version\030\002 \002(\003\022\013\n\003ref\030\003 \001(\t\032Q\n\006Bucket\022" +
      "\027\n\005owner\030\001 \002(\0132\010.Address\022\017\n\007version\030\002 \002(" +
      "\003\022\035\n\007content\030\003 \003(\0132\014.Delta.Entry\"K\n\007Addr" +
      "ess\022\016\n\006system\030\001 \002(\t\022\020\n\010hostname\030\002 \002(\t\022\014\n" +
      "\004port\030\003 \002(\r\022\020\n\010protocol\030\004 \001(\t\"F\n\004Send\022\014\n",
      "\004path\030\001 \002(\t\022\025\n\rlocalAffinity\030\002 \002(\010\022\031\n\007pa" +
      "yload\030\003 \002(\0132\010.Payload\"H\n\tSendToAll\022\014\n\004pa" +
      "th\030\001 \002(\t\022\022\n\nallButSelf\030\002 \002(\010\022\031\n\007payload\030" +
      "\003 \002(\0132\010.Payload\"3\n\007Publish\022\r\n\005topic\030\001 \002(" +
      "\t\022\031\n\007payload\030\003 \002(\0132\010.Payload\"Q\n\007Payload\022" +
      "\027\n\017enclosedMessage\030\001 \002(\014\022\024\n\014serializerId" +
      "\030\002 \002(\005\022\027\n\017messageManifest\030\004 \001(\014B%\n!akka." +
      "contrib.pattern.protobuf.msgH\001"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
        public com.google.protobuf.ExtensionRegistry assignDescriptors(
            com.google.protobuf.Descriptors.FileDescriptor root) {
          descriptor = root;
          internal_static_Status_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_Status_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_Status_descriptor,
              new java.lang.String[] { "Versions", });
          internal_static_Status_Version_descriptor =
            internal_static_Status_descriptor.getNestedTypes().get(0);
          internal_static_Status_Version_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_Status_Version_descriptor,
              new java.lang.String[] { "Address", "Timestamp", });
          internal_static_Delta_descriptor =
            getDescriptor().getMessageTypes().get(1);
          internal_static_Delta_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_Delta_descriptor,
              new java.lang.String[] { "Buckets", });
          internal_static_Delta_Entry_descriptor =
            internal_static_Delta_descriptor.getNestedTypes().get(0);
          internal_static_Delta_Entry_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_Delta_Entry_descriptor,
              new java.lang.String[] { "Key", "Version", "Ref", });
          internal_static_Delta_Bucket_descriptor =
            internal_static_Delta_descriptor.getNestedTypes().get(1);
          internal_static_Delta_Bucket_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_Delta_Bucket_descriptor,
              new java.lang.String[] { "Owner", "Version", "Content", });
          internal_static_Address_descriptor =
            getDescriptor().getMessageTypes().get(2);
          internal_static_Address_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_Address_descriptor,
              new java.lang.String[] { "System", "Hostname", "Port", "Protocol", });
          internal_static_Send_descriptor =
            getDescriptor().getMessageTypes().get(3);
          internal_static_Send_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_Send_descriptor,
              new java.lang.String[] { "Path", "LocalAffinity", "Payload", });
          internal_static_SendToAll_descriptor =
            getDescriptor().getMessageTypes().get(4);
          internal_static_SendToAll_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_SendToAll_descriptor,
              new java.lang.String[] { "Path", "AllButSelf", "Payload", });
          internal_static_Publish_descriptor =
            getDescriptor().getMessageTypes().get(5);
          internal_static_Publish_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_Publish_descriptor,
              new java.lang.String[] { "Topic", "Payload", });
          internal_static_Payload_descriptor =
            getDescriptor().getMessageTypes().get(6);
          internal_static_Payload_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_Payload_descriptor,
              new java.lang.String[] { "EnclosedMessage", "SerializerId", "MessageManifest", });
          return null;
        }
      };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
  }

  // @@protoc_insertion_point(outer_class_scope)
}

Other Akka source code examples

Here is a short list of links related to this Akka DistributedPubSubMessages.java source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.