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

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

This example Akka source code file (WireFormats.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

actorrefdata, akka, akkahandshakeinfo, akkaprotocolmessage, builder, daemonmsgcreatedata, nullpointerexception, parser, propsdata, remote, remoteenvelope, string

The WireFormats.java Akka example source code

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

package akka.remote;

public final class WireFormats {
  private WireFormats() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  /**
   * Protobuf enum {@code CommandType}
   *
   * <pre>
   **
   * Defines the type of the AkkaControlMessage command type
   * </pre>
   */
  public enum CommandType
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <code>ASSOCIATE = 1;</code>
     */
    ASSOCIATE(0, 1),
    /**
     * <code>DISASSOCIATE = 2;</code>
     */
    DISASSOCIATE(1, 2),
    /**
     * <code>HEARTBEAT = 3;</code>
     */
    HEARTBEAT(2, 3),
    /**
     * <code>DISASSOCIATE_SHUTTING_DOWN = 4;</code>
     *
     * <pre>
     * Remote system is going down and will not accepts new connections
     * </pre>
     */
    DISASSOCIATE_SHUTTING_DOWN(3, 4),
    /**
     * <code>DISASSOCIATE_QUARANTINED = 5;</code>
     *
     * <pre>
     * Remote system refused the association since the current system is quarantined
     * </pre>
     */
    DISASSOCIATE_QUARANTINED(4, 5),
    ;

    /**
     * <code>ASSOCIATE = 1;</code>
     */
    public static final int ASSOCIATE_VALUE = 1;
    /**
     * <code>DISASSOCIATE = 2;</code>
     */
    public static final int DISASSOCIATE_VALUE = 2;
    /**
     * <code>HEARTBEAT = 3;</code>
     */
    public static final int HEARTBEAT_VALUE = 3;
    /**
     * <code>DISASSOCIATE_SHUTTING_DOWN = 4;</code>
     *
     * <pre>
     * Remote system is going down and will not accepts new connections
     * </pre>
     */
    public static final int DISASSOCIATE_SHUTTING_DOWN_VALUE = 4;
    /**
     * <code>DISASSOCIATE_QUARANTINED = 5;</code>
     *
     * <pre>
     * Remote system refused the association since the current system is quarantined
     * </pre>
     */
    public static final int DISASSOCIATE_QUARANTINED_VALUE = 5;


    public final int getNumber() { return value; }

    public static CommandType valueOf(int value) {
      switch (value) {
        case 1: return ASSOCIATE;
        case 2: return DISASSOCIATE;
        case 3: return HEARTBEAT;
        case 4: return DISASSOCIATE_SHUTTING_DOWN;
        case 5: return DISASSOCIATE_QUARANTINED;
        default: return null;
      }
    }

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

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return akka.remote.WireFormats.getDescriptor().getEnumTypes().get(0);
    }

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

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

    private final int index;
    private final int value;

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

    // @@protoc_insertion_point(enum_scope:CommandType)
  }

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

    // optional .AcknowledgementInfo ack = 1;
    /**
     * <code>optional .AcknowledgementInfo ack = 1;</code>
     */
    boolean hasAck();
    /**
     * <code>optional .AcknowledgementInfo ack = 1;</code>
     */
    akka.remote.WireFormats.AcknowledgementInfo getAck();
    /**
     * <code>optional .AcknowledgementInfo ack = 1;</code>
     */
    akka.remote.WireFormats.AcknowledgementInfoOrBuilder getAckOrBuilder();

    // optional .RemoteEnvelope envelope = 2;
    /**
     * <code>optional .RemoteEnvelope envelope = 2;</code>
     */
    boolean hasEnvelope();
    /**
     * <code>optional .RemoteEnvelope envelope = 2;</code>
     */
    akka.remote.WireFormats.RemoteEnvelope getEnvelope();
    /**
     * <code>optional .RemoteEnvelope envelope = 2;</code>
     */
    akka.remote.WireFormats.RemoteEnvelopeOrBuilder getEnvelopeOrBuilder();
  }
  /**
   * Protobuf type {@code AckAndEnvelopeContainer}
   */
  public static final class AckAndEnvelopeContainer extends
      com.google.protobuf.GeneratedMessage
      implements AckAndEnvelopeContainerOrBuilder {
    // Use AckAndEnvelopeContainer.newBuilder() to construct.
    private AckAndEnvelopeContainer(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private AckAndEnvelopeContainer(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public AckAndEnvelopeContainer getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private AckAndEnvelopeContainer(
        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.remote.WireFormats.AcknowledgementInfo.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = ack_.toBuilder();
              }
              ack_ = input.readMessage(akka.remote.WireFormats.AcknowledgementInfo.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(ack_);
                ack_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              akka.remote.WireFormats.RemoteEnvelope.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = envelope_.toBuilder();
              }
              envelope_ = input.readMessage(akka.remote.WireFormats.RemoteEnvelope.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(envelope_);
                envelope_ = 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.remote.WireFormats.internal_static_AckAndEnvelopeContainer_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.WireFormats.internal_static_AckAndEnvelopeContainer_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.WireFormats.AckAndEnvelopeContainer.class, akka.remote.WireFormats.AckAndEnvelopeContainer.Builder.class);
    }

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

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

    private int bitField0_;
    // optional .AcknowledgementInfo ack = 1;
    public static final int ACK_FIELD_NUMBER = 1;
    private akka.remote.WireFormats.AcknowledgementInfo ack_;
    /**
     * <code>optional .AcknowledgementInfo ack = 1;</code>
     */
    public boolean hasAck() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional .AcknowledgementInfo ack = 1;</code>
     */
    public akka.remote.WireFormats.AcknowledgementInfo getAck() {
      return ack_;
    }
    /**
     * <code>optional .AcknowledgementInfo ack = 1;</code>
     */
    public akka.remote.WireFormats.AcknowledgementInfoOrBuilder getAckOrBuilder() {
      return ack_;
    }

    // optional .RemoteEnvelope envelope = 2;
    public static final int ENVELOPE_FIELD_NUMBER = 2;
    private akka.remote.WireFormats.RemoteEnvelope envelope_;
    /**
     * <code>optional .RemoteEnvelope envelope = 2;</code>
     */
    public boolean hasEnvelope() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional .RemoteEnvelope envelope = 2;</code>
     */
    public akka.remote.WireFormats.RemoteEnvelope getEnvelope() {
      return envelope_;
    }
    /**
     * <code>optional .RemoteEnvelope envelope = 2;</code>
     */
    public akka.remote.WireFormats.RemoteEnvelopeOrBuilder getEnvelopeOrBuilder() {
      return envelope_;
    }

    private void initFields() {
      ack_ = akka.remote.WireFormats.AcknowledgementInfo.getDefaultInstance();
      envelope_ = akka.remote.WireFormats.RemoteEnvelope.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (hasAck()) {
        if (!getAck().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasEnvelope()) {
        if (!getEnvelope().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, ack_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, envelope_);
      }
      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, ack_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, envelope_);
      }
      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.remote.WireFormats.AckAndEnvelopeContainer parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.AckAndEnvelopeContainer parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.AckAndEnvelopeContainer parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.AckAndEnvelopeContainer parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.AckAndEnvelopeContainer parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.AckAndEnvelopeContainer parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.AckAndEnvelopeContainer parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.remote.WireFormats.AckAndEnvelopeContainer parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.AckAndEnvelopeContainer parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.AckAndEnvelopeContainer 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.remote.WireFormats.AckAndEnvelopeContainer 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 AckAndEnvelopeContainer}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.remote.WireFormats.AckAndEnvelopeContainerOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.WireFormats.internal_static_AckAndEnvelopeContainer_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.WireFormats.internal_static_AckAndEnvelopeContainer_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.WireFormats.AckAndEnvelopeContainer.class, akka.remote.WireFormats.AckAndEnvelopeContainer.Builder.class);
      }

      // Construct using akka.remote.WireFormats.AckAndEnvelopeContainer.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      public Builder clear() {
        super.clear();
        if (ackBuilder_ == null) {
          ack_ = akka.remote.WireFormats.AcknowledgementInfo.getDefaultInstance();
        } else {
          ackBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (envelopeBuilder_ == null) {
          envelope_ = akka.remote.WireFormats.RemoteEnvelope.getDefaultInstance();
        } else {
          envelopeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.WireFormats.internal_static_AckAndEnvelopeContainer_descriptor;
      }

      public akka.remote.WireFormats.AckAndEnvelopeContainer getDefaultInstanceForType() {
        return akka.remote.WireFormats.AckAndEnvelopeContainer.getDefaultInstance();
      }

      public akka.remote.WireFormats.AckAndEnvelopeContainer build() {
        akka.remote.WireFormats.AckAndEnvelopeContainer result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public akka.remote.WireFormats.AckAndEnvelopeContainer buildPartial() {
        akka.remote.WireFormats.AckAndEnvelopeContainer result = new akka.remote.WireFormats.AckAndEnvelopeContainer(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (ackBuilder_ == null) {
          result.ack_ = ack_;
        } else {
          result.ack_ = ackBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (envelopeBuilder_ == null) {
          result.envelope_ = envelope_;
        } else {
          result.envelope_ = envelopeBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof akka.remote.WireFormats.AckAndEnvelopeContainer) {
          return mergeFrom((akka.remote.WireFormats.AckAndEnvelopeContainer)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.WireFormats.AckAndEnvelopeContainer other) {
        if (other == akka.remote.WireFormats.AckAndEnvelopeContainer.getDefaultInstance()) return this;
        if (other.hasAck()) {
          mergeAck(other.getAck());
        }
        if (other.hasEnvelope()) {
          mergeEnvelope(other.getEnvelope());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (hasAck()) {
          if (!getAck().isInitialized()) {
            
            return false;
          }
        }
        if (hasEnvelope()) {
          if (!getEnvelope().isInitialized()) {
            
            return false;
          }
        }
        return true;
      }

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

      // optional .AcknowledgementInfo ack = 1;
      private akka.remote.WireFormats.AcknowledgementInfo ack_ = akka.remote.WireFormats.AcknowledgementInfo.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.AcknowledgementInfo, akka.remote.WireFormats.AcknowledgementInfo.Builder, akka.remote.WireFormats.AcknowledgementInfoOrBuilder> ackBuilder_;
      /**
       * <code>optional .AcknowledgementInfo ack = 1;</code>
       */
      public boolean hasAck() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional .AcknowledgementInfo ack = 1;</code>
       */
      public akka.remote.WireFormats.AcknowledgementInfo getAck() {
        if (ackBuilder_ == null) {
          return ack_;
        } else {
          return ackBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .AcknowledgementInfo ack = 1;</code>
       */
      public Builder setAck(akka.remote.WireFormats.AcknowledgementInfo value) {
        if (ackBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ack_ = value;
          onChanged();
        } else {
          ackBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .AcknowledgementInfo ack = 1;</code>
       */
      public Builder setAck(
          akka.remote.WireFormats.AcknowledgementInfo.Builder builderForValue) {
        if (ackBuilder_ == null) {
          ack_ = builderForValue.build();
          onChanged();
        } else {
          ackBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .AcknowledgementInfo ack = 1;</code>
       */
      public Builder mergeAck(akka.remote.WireFormats.AcknowledgementInfo value) {
        if (ackBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              ack_ != akka.remote.WireFormats.AcknowledgementInfo.getDefaultInstance()) {
            ack_ =
              akka.remote.WireFormats.AcknowledgementInfo.newBuilder(ack_).mergeFrom(value).buildPartial();
          } else {
            ack_ = value;
          }
          onChanged();
        } else {
          ackBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .AcknowledgementInfo ack = 1;</code>
       */
      public Builder clearAck() {
        if (ackBuilder_ == null) {
          ack_ = akka.remote.WireFormats.AcknowledgementInfo.getDefaultInstance();
          onChanged();
        } else {
          ackBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>optional .AcknowledgementInfo ack = 1;</code>
       */
      public akka.remote.WireFormats.AcknowledgementInfo.Builder getAckBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getAckFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .AcknowledgementInfo ack = 1;</code>
       */
      public akka.remote.WireFormats.AcknowledgementInfoOrBuilder getAckOrBuilder() {
        if (ackBuilder_ != null) {
          return ackBuilder_.getMessageOrBuilder();
        } else {
          return ack_;
        }
      }
      /**
       * <code>optional .AcknowledgementInfo ack = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.AcknowledgementInfo, akka.remote.WireFormats.AcknowledgementInfo.Builder, akka.remote.WireFormats.AcknowledgementInfoOrBuilder> 
          getAckFieldBuilder() {
        if (ackBuilder_ == null) {
          ackBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              akka.remote.WireFormats.AcknowledgementInfo, akka.remote.WireFormats.AcknowledgementInfo.Builder, akka.remote.WireFormats.AcknowledgementInfoOrBuilder>(
                  ack_,
                  getParentForChildren(),
                  isClean());
          ack_ = null;
        }
        return ackBuilder_;
      }

      // optional .RemoteEnvelope envelope = 2;
      private akka.remote.WireFormats.RemoteEnvelope envelope_ = akka.remote.WireFormats.RemoteEnvelope.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.RemoteEnvelope, akka.remote.WireFormats.RemoteEnvelope.Builder, akka.remote.WireFormats.RemoteEnvelopeOrBuilder> envelopeBuilder_;
      /**
       * <code>optional .RemoteEnvelope envelope = 2;</code>
       */
      public boolean hasEnvelope() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional .RemoteEnvelope envelope = 2;</code>
       */
      public akka.remote.WireFormats.RemoteEnvelope getEnvelope() {
        if (envelopeBuilder_ == null) {
          return envelope_;
        } else {
          return envelopeBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .RemoteEnvelope envelope = 2;</code>
       */
      public Builder setEnvelope(akka.remote.WireFormats.RemoteEnvelope value) {
        if (envelopeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          envelope_ = value;
          onChanged();
        } else {
          envelopeBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .RemoteEnvelope envelope = 2;</code>
       */
      public Builder setEnvelope(
          akka.remote.WireFormats.RemoteEnvelope.Builder builderForValue) {
        if (envelopeBuilder_ == null) {
          envelope_ = builderForValue.build();
          onChanged();
        } else {
          envelopeBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .RemoteEnvelope envelope = 2;</code>
       */
      public Builder mergeEnvelope(akka.remote.WireFormats.RemoteEnvelope value) {
        if (envelopeBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              envelope_ != akka.remote.WireFormats.RemoteEnvelope.getDefaultInstance()) {
            envelope_ =
              akka.remote.WireFormats.RemoteEnvelope.newBuilder(envelope_).mergeFrom(value).buildPartial();
          } else {
            envelope_ = value;
          }
          onChanged();
        } else {
          envelopeBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .RemoteEnvelope envelope = 2;</code>
       */
      public Builder clearEnvelope() {
        if (envelopeBuilder_ == null) {
          envelope_ = akka.remote.WireFormats.RemoteEnvelope.getDefaultInstance();
          onChanged();
        } else {
          envelopeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>optional .RemoteEnvelope envelope = 2;</code>
       */
      public akka.remote.WireFormats.RemoteEnvelope.Builder getEnvelopeBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getEnvelopeFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .RemoteEnvelope envelope = 2;</code>
       */
      public akka.remote.WireFormats.RemoteEnvelopeOrBuilder getEnvelopeOrBuilder() {
        if (envelopeBuilder_ != null) {
          return envelopeBuilder_.getMessageOrBuilder();
        } else {
          return envelope_;
        }
      }
      /**
       * <code>optional .RemoteEnvelope envelope = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.RemoteEnvelope, akka.remote.WireFormats.RemoteEnvelope.Builder, akka.remote.WireFormats.RemoteEnvelopeOrBuilder> 
          getEnvelopeFieldBuilder() {
        if (envelopeBuilder_ == null) {
          envelopeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              akka.remote.WireFormats.RemoteEnvelope, akka.remote.WireFormats.RemoteEnvelope.Builder, akka.remote.WireFormats.RemoteEnvelopeOrBuilder>(
                  envelope_,
                  getParentForChildren(),
                  isClean());
          envelope_ = null;
        }
        return envelopeBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:AckAndEnvelopeContainer)
    }

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

    // @@protoc_insertion_point(class_scope:AckAndEnvelopeContainer)
  }

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

    // required .ActorRefData recipient = 1;
    /**
     * <code>required .ActorRefData recipient = 1;</code>
     */
    boolean hasRecipient();
    /**
     * <code>required .ActorRefData recipient = 1;</code>
     */
    akka.remote.WireFormats.ActorRefData getRecipient();
    /**
     * <code>required .ActorRefData recipient = 1;</code>
     */
    akka.remote.WireFormats.ActorRefDataOrBuilder getRecipientOrBuilder();

    // required .SerializedMessage message = 2;
    /**
     * <code>required .SerializedMessage message = 2;</code>
     */
    boolean hasMessage();
    /**
     * <code>required .SerializedMessage message = 2;</code>
     */
    akka.remote.WireFormats.SerializedMessage getMessage();
    /**
     * <code>required .SerializedMessage message = 2;</code>
     */
    akka.remote.WireFormats.SerializedMessageOrBuilder getMessageOrBuilder();

    // optional .ActorRefData sender = 4;
    /**
     * <code>optional .ActorRefData sender = 4;</code>
     */
    boolean hasSender();
    /**
     * <code>optional .ActorRefData sender = 4;</code>
     */
    akka.remote.WireFormats.ActorRefData getSender();
    /**
     * <code>optional .ActorRefData sender = 4;</code>
     */
    akka.remote.WireFormats.ActorRefDataOrBuilder getSenderOrBuilder();

    // optional fixed64 seq = 5;
    /**
     * <code>optional fixed64 seq = 5;</code>
     */
    boolean hasSeq();
    /**
     * <code>optional fixed64 seq = 5;</code>
     */
    long getSeq();
  }
  /**
   * Protobuf type {@code RemoteEnvelope}
   *
   * <pre>
   **
   * Defines a remote message.
   * </pre>
   */
  public static final class RemoteEnvelope extends
      com.google.protobuf.GeneratedMessage
      implements RemoteEnvelopeOrBuilder {
    // Use RemoteEnvelope.newBuilder() to construct.
    private RemoteEnvelope(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private RemoteEnvelope(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public RemoteEnvelope getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private RemoteEnvelope(
        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.remote.WireFormats.ActorRefData.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = recipient_.toBuilder();
              }
              recipient_ = input.readMessage(akka.remote.WireFormats.ActorRefData.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(recipient_);
                recipient_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              akka.remote.WireFormats.SerializedMessage.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = message_.toBuilder();
              }
              message_ = input.readMessage(akka.remote.WireFormats.SerializedMessage.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(message_);
                message_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 34: {
              akka.remote.WireFormats.ActorRefData.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = sender_.toBuilder();
              }
              sender_ = input.readMessage(akka.remote.WireFormats.ActorRefData.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(sender_);
                sender_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            case 41: {
              bitField0_ |= 0x00000008;
              seq_ = input.readFixed64();
              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.remote.WireFormats.internal_static_RemoteEnvelope_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.WireFormats.internal_static_RemoteEnvelope_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.WireFormats.RemoteEnvelope.class, akka.remote.WireFormats.RemoteEnvelope.Builder.class);
    }

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

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

    private int bitField0_;
    // required .ActorRefData recipient = 1;
    public static final int RECIPIENT_FIELD_NUMBER = 1;
    private akka.remote.WireFormats.ActorRefData recipient_;
    /**
     * <code>required .ActorRefData recipient = 1;</code>
     */
    public boolean hasRecipient() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required .ActorRefData recipient = 1;</code>
     */
    public akka.remote.WireFormats.ActorRefData getRecipient() {
      return recipient_;
    }
    /**
     * <code>required .ActorRefData recipient = 1;</code>
     */
    public akka.remote.WireFormats.ActorRefDataOrBuilder getRecipientOrBuilder() {
      return recipient_;
    }

    // required .SerializedMessage message = 2;
    public static final int MESSAGE_FIELD_NUMBER = 2;
    private akka.remote.WireFormats.SerializedMessage message_;
    /**
     * <code>required .SerializedMessage message = 2;</code>
     */
    public boolean hasMessage() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>required .SerializedMessage message = 2;</code>
     */
    public akka.remote.WireFormats.SerializedMessage getMessage() {
      return message_;
    }
    /**
     * <code>required .SerializedMessage message = 2;</code>
     */
    public akka.remote.WireFormats.SerializedMessageOrBuilder getMessageOrBuilder() {
      return message_;
    }

    // optional .ActorRefData sender = 4;
    public static final int SENDER_FIELD_NUMBER = 4;
    private akka.remote.WireFormats.ActorRefData sender_;
    /**
     * <code>optional .ActorRefData sender = 4;</code>
     */
    public boolean hasSender() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional .ActorRefData sender = 4;</code>
     */
    public akka.remote.WireFormats.ActorRefData getSender() {
      return sender_;
    }
    /**
     * <code>optional .ActorRefData sender = 4;</code>
     */
    public akka.remote.WireFormats.ActorRefDataOrBuilder getSenderOrBuilder() {
      return sender_;
    }

    // optional fixed64 seq = 5;
    public static final int SEQ_FIELD_NUMBER = 5;
    private long seq_;
    /**
     * <code>optional fixed64 seq = 5;</code>
     */
    public boolean hasSeq() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional fixed64 seq = 5;</code>
     */
    public long getSeq() {
      return seq_;
    }

    private void initFields() {
      recipient_ = akka.remote.WireFormats.ActorRefData.getDefaultInstance();
      message_ = akka.remote.WireFormats.SerializedMessage.getDefaultInstance();
      sender_ = akka.remote.WireFormats.ActorRefData.getDefaultInstance();
      seq_ = 0L;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasRecipient()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasMessage()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getRecipient().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getMessage().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (hasSender()) {
        if (!getSender().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, recipient_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, message_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(4, sender_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeFixed64(5, seq_);
      }
      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, recipient_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, message_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, sender_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(5, seq_);
      }
      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.remote.WireFormats.RemoteEnvelope parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.RemoteEnvelope parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.RemoteEnvelope parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.RemoteEnvelope parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.RemoteEnvelope parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.RemoteEnvelope parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.RemoteEnvelope parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.remote.WireFormats.RemoteEnvelope parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.RemoteEnvelope parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.RemoteEnvelope 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.remote.WireFormats.RemoteEnvelope 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 RemoteEnvelope}
     *
     * <pre>
     **
     * Defines a remote message.
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.remote.WireFormats.RemoteEnvelopeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.WireFormats.internal_static_RemoteEnvelope_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.WireFormats.internal_static_RemoteEnvelope_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.WireFormats.RemoteEnvelope.class, akka.remote.WireFormats.RemoteEnvelope.Builder.class);
      }

      // Construct using akka.remote.WireFormats.RemoteEnvelope.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      public Builder clear() {
        super.clear();
        if (recipientBuilder_ == null) {
          recipient_ = akka.remote.WireFormats.ActorRefData.getDefaultInstance();
        } else {
          recipientBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (messageBuilder_ == null) {
          message_ = akka.remote.WireFormats.SerializedMessage.getDefaultInstance();
        } else {
          messageBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (senderBuilder_ == null) {
          sender_ = akka.remote.WireFormats.ActorRefData.getDefaultInstance();
        } else {
          senderBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        seq_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.WireFormats.internal_static_RemoteEnvelope_descriptor;
      }

      public akka.remote.WireFormats.RemoteEnvelope getDefaultInstanceForType() {
        return akka.remote.WireFormats.RemoteEnvelope.getDefaultInstance();
      }

      public akka.remote.WireFormats.RemoteEnvelope build() {
        akka.remote.WireFormats.RemoteEnvelope result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public akka.remote.WireFormats.RemoteEnvelope buildPartial() {
        akka.remote.WireFormats.RemoteEnvelope result = new akka.remote.WireFormats.RemoteEnvelope(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (recipientBuilder_ == null) {
          result.recipient_ = recipient_;
        } else {
          result.recipient_ = recipientBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (messageBuilder_ == null) {
          result.message_ = message_;
        } else {
          result.message_ = messageBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (senderBuilder_ == null) {
          result.sender_ = sender_;
        } else {
          result.sender_ = senderBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.seq_ = seq_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof akka.remote.WireFormats.RemoteEnvelope) {
          return mergeFrom((akka.remote.WireFormats.RemoteEnvelope)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.WireFormats.RemoteEnvelope other) {
        if (other == akka.remote.WireFormats.RemoteEnvelope.getDefaultInstance()) return this;
        if (other.hasRecipient()) {
          mergeRecipient(other.getRecipient());
        }
        if (other.hasMessage()) {
          mergeMessage(other.getMessage());
        }
        if (other.hasSender()) {
          mergeSender(other.getSender());
        }
        if (other.hasSeq()) {
          setSeq(other.getSeq());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasRecipient()) {
          
          return false;
        }
        if (!hasMessage()) {
          
          return false;
        }
        if (!getRecipient().isInitialized()) {
          
          return false;
        }
        if (!getMessage().isInitialized()) {
          
          return false;
        }
        if (hasSender()) {
          if (!getSender().isInitialized()) {
            
            return false;
          }
        }
        return true;
      }

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

      // required .ActorRefData recipient = 1;
      private akka.remote.WireFormats.ActorRefData recipient_ = akka.remote.WireFormats.ActorRefData.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.ActorRefData, akka.remote.WireFormats.ActorRefData.Builder, akka.remote.WireFormats.ActorRefDataOrBuilder> recipientBuilder_;
      /**
       * <code>required .ActorRefData recipient = 1;</code>
       */
      public boolean hasRecipient() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required .ActorRefData recipient = 1;</code>
       */
      public akka.remote.WireFormats.ActorRefData getRecipient() {
        if (recipientBuilder_ == null) {
          return recipient_;
        } else {
          return recipientBuilder_.getMessage();
        }
      }
      /**
       * <code>required .ActorRefData recipient = 1;</code>
       */
      public Builder setRecipient(akka.remote.WireFormats.ActorRefData value) {
        if (recipientBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          recipient_ = value;
          onChanged();
        } else {
          recipientBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .ActorRefData recipient = 1;</code>
       */
      public Builder setRecipient(
          akka.remote.WireFormats.ActorRefData.Builder builderForValue) {
        if (recipientBuilder_ == null) {
          recipient_ = builderForValue.build();
          onChanged();
        } else {
          recipientBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .ActorRefData recipient = 1;</code>
       */
      public Builder mergeRecipient(akka.remote.WireFormats.ActorRefData value) {
        if (recipientBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              recipient_ != akka.remote.WireFormats.ActorRefData.getDefaultInstance()) {
            recipient_ =
              akka.remote.WireFormats.ActorRefData.newBuilder(recipient_).mergeFrom(value).buildPartial();
          } else {
            recipient_ = value;
          }
          onChanged();
        } else {
          recipientBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .ActorRefData recipient = 1;</code>
       */
      public Builder clearRecipient() {
        if (recipientBuilder_ == null) {
          recipient_ = akka.remote.WireFormats.ActorRefData.getDefaultInstance();
          onChanged();
        } else {
          recipientBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>required .ActorRefData recipient = 1;</code>
       */
      public akka.remote.WireFormats.ActorRefData.Builder getRecipientBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getRecipientFieldBuilder().getBuilder();
      }
      /**
       * <code>required .ActorRefData recipient = 1;</code>
       */
      public akka.remote.WireFormats.ActorRefDataOrBuilder getRecipientOrBuilder() {
        if (recipientBuilder_ != null) {
          return recipientBuilder_.getMessageOrBuilder();
        } else {
          return recipient_;
        }
      }
      /**
       * <code>required .ActorRefData recipient = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.ActorRefData, akka.remote.WireFormats.ActorRefData.Builder, akka.remote.WireFormats.ActorRefDataOrBuilder> 
          getRecipientFieldBuilder() {
        if (recipientBuilder_ == null) {
          recipientBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              akka.remote.WireFormats.ActorRefData, akka.remote.WireFormats.ActorRefData.Builder, akka.remote.WireFormats.ActorRefDataOrBuilder>(
                  recipient_,
                  getParentForChildren(),
                  isClean());
          recipient_ = null;
        }
        return recipientBuilder_;
      }

      // required .SerializedMessage message = 2;
      private akka.remote.WireFormats.SerializedMessage message_ = akka.remote.WireFormats.SerializedMessage.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.SerializedMessage, akka.remote.WireFormats.SerializedMessage.Builder, akka.remote.WireFormats.SerializedMessageOrBuilder> messageBuilder_;
      /**
       * <code>required .SerializedMessage message = 2;</code>
       */
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required .SerializedMessage message = 2;</code>
       */
      public akka.remote.WireFormats.SerializedMessage getMessage() {
        if (messageBuilder_ == null) {
          return message_;
        } else {
          return messageBuilder_.getMessage();
        }
      }
      /**
       * <code>required .SerializedMessage message = 2;</code>
       */
      public Builder setMessage(akka.remote.WireFormats.SerializedMessage value) {
        if (messageBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          message_ = value;
          onChanged();
        } else {
          messageBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .SerializedMessage message = 2;</code>
       */
      public Builder setMessage(
          akka.remote.WireFormats.SerializedMessage.Builder builderForValue) {
        if (messageBuilder_ == null) {
          message_ = builderForValue.build();
          onChanged();
        } else {
          messageBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .SerializedMessage message = 2;</code>
       */
      public Builder mergeMessage(akka.remote.WireFormats.SerializedMessage value) {
        if (messageBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              message_ != akka.remote.WireFormats.SerializedMessage.getDefaultInstance()) {
            message_ =
              akka.remote.WireFormats.SerializedMessage.newBuilder(message_).mergeFrom(value).buildPartial();
          } else {
            message_ = value;
          }
          onChanged();
        } else {
          messageBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .SerializedMessage message = 2;</code>
       */
      public Builder clearMessage() {
        if (messageBuilder_ == null) {
          message_ = akka.remote.WireFormats.SerializedMessage.getDefaultInstance();
          onChanged();
        } else {
          messageBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>required .SerializedMessage message = 2;</code>
       */
      public akka.remote.WireFormats.SerializedMessage.Builder getMessageBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getMessageFieldBuilder().getBuilder();
      }
      /**
       * <code>required .SerializedMessage message = 2;</code>
       */
      public akka.remote.WireFormats.SerializedMessageOrBuilder getMessageOrBuilder() {
        if (messageBuilder_ != null) {
          return messageBuilder_.getMessageOrBuilder();
        } else {
          return message_;
        }
      }
      /**
       * <code>required .SerializedMessage message = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.SerializedMessage, akka.remote.WireFormats.SerializedMessage.Builder, akka.remote.WireFormats.SerializedMessageOrBuilder> 
          getMessageFieldBuilder() {
        if (messageBuilder_ == null) {
          messageBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              akka.remote.WireFormats.SerializedMessage, akka.remote.WireFormats.SerializedMessage.Builder, akka.remote.WireFormats.SerializedMessageOrBuilder>(
                  message_,
                  getParentForChildren(),
                  isClean());
          message_ = null;
        }
        return messageBuilder_;
      }

      // optional .ActorRefData sender = 4;
      private akka.remote.WireFormats.ActorRefData sender_ = akka.remote.WireFormats.ActorRefData.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.ActorRefData, akka.remote.WireFormats.ActorRefData.Builder, akka.remote.WireFormats.ActorRefDataOrBuilder> senderBuilder_;
      /**
       * <code>optional .ActorRefData sender = 4;</code>
       */
      public boolean hasSender() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional .ActorRefData sender = 4;</code>
       */
      public akka.remote.WireFormats.ActorRefData getSender() {
        if (senderBuilder_ == null) {
          return sender_;
        } else {
          return senderBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .ActorRefData sender = 4;</code>
       */
      public Builder setSender(akka.remote.WireFormats.ActorRefData value) {
        if (senderBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          sender_ = value;
          onChanged();
        } else {
          senderBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .ActorRefData sender = 4;</code>
       */
      public Builder setSender(
          akka.remote.WireFormats.ActorRefData.Builder builderForValue) {
        if (senderBuilder_ == null) {
          sender_ = builderForValue.build();
          onChanged();
        } else {
          senderBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .ActorRefData sender = 4;</code>
       */
      public Builder mergeSender(akka.remote.WireFormats.ActorRefData value) {
        if (senderBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              sender_ != akka.remote.WireFormats.ActorRefData.getDefaultInstance()) {
            sender_ =
              akka.remote.WireFormats.ActorRefData.newBuilder(sender_).mergeFrom(value).buildPartial();
          } else {
            sender_ = value;
          }
          onChanged();
        } else {
          senderBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .ActorRefData sender = 4;</code>
       */
      public Builder clearSender() {
        if (senderBuilder_ == null) {
          sender_ = akka.remote.WireFormats.ActorRefData.getDefaultInstance();
          onChanged();
        } else {
          senderBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * <code>optional .ActorRefData sender = 4;</code>
       */
      public akka.remote.WireFormats.ActorRefData.Builder getSenderBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getSenderFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .ActorRefData sender = 4;</code>
       */
      public akka.remote.WireFormats.ActorRefDataOrBuilder getSenderOrBuilder() {
        if (senderBuilder_ != null) {
          return senderBuilder_.getMessageOrBuilder();
        } else {
          return sender_;
        }
      }
      /**
       * <code>optional .ActorRefData sender = 4;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.ActorRefData, akka.remote.WireFormats.ActorRefData.Builder, akka.remote.WireFormats.ActorRefDataOrBuilder> 
          getSenderFieldBuilder() {
        if (senderBuilder_ == null) {
          senderBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              akka.remote.WireFormats.ActorRefData, akka.remote.WireFormats.ActorRefData.Builder, akka.remote.WireFormats.ActorRefDataOrBuilder>(
                  sender_,
                  getParentForChildren(),
                  isClean());
          sender_ = null;
        }
        return senderBuilder_;
      }

      // optional fixed64 seq = 5;
      private long seq_ ;
      /**
       * <code>optional fixed64 seq = 5;</code>
       */
      public boolean hasSeq() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional fixed64 seq = 5;</code>
       */
      public long getSeq() {
        return seq_;
      }
      /**
       * <code>optional fixed64 seq = 5;</code>
       */
      public Builder setSeq(long value) {
        bitField0_ |= 0x00000008;
        seq_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional fixed64 seq = 5;</code>
       */
      public Builder clearSeq() {
        bitField0_ = (bitField0_ & ~0x00000008);
        seq_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:RemoteEnvelope)
    }

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

    // @@protoc_insertion_point(class_scope:RemoteEnvelope)
  }

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

    // required fixed64 cumulativeAck = 1;
    /**
     * <code>required fixed64 cumulativeAck = 1;</code>
     */
    boolean hasCumulativeAck();
    /**
     * <code>required fixed64 cumulativeAck = 1;</code>
     */
    long getCumulativeAck();

    // repeated fixed64 nacks = 2;
    /**
     * <code>repeated fixed64 nacks = 2;</code>
     */
    java.util.List<java.lang.Long> getNacksList();
    /**
     * <code>repeated fixed64 nacks = 2;</code>
     */
    int getNacksCount();
    /**
     * <code>repeated fixed64 nacks = 2;</code>
     */
    long getNacks(int index);
  }
  /**
   * Protobuf type {@code AcknowledgementInfo}
   */
  public static final class AcknowledgementInfo extends
      com.google.protobuf.GeneratedMessage
      implements AcknowledgementInfoOrBuilder {
    // Use AcknowledgementInfo.newBuilder() to construct.
    private AcknowledgementInfo(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private AcknowledgementInfo(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public AcknowledgementInfo getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private AcknowledgementInfo(
        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 9: {
              bitField0_ |= 0x00000001;
              cumulativeAck_ = input.readFixed64();
              break;
            }
            case 17: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                nacks_ = new java.util.ArrayList<java.lang.Long>();
                mutable_bitField0_ |= 0x00000002;
              }
              nacks_.add(input.readFixed64());
              break;
            }
            case 18: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002) && input.getBytesUntilLimit() > 0) {
                nacks_ = new java.util.ArrayList<java.lang.Long>();
                mutable_bitField0_ |= 0x00000002;
              }
              while (input.getBytesUntilLimit() > 0) {
                nacks_.add(input.readFixed64());
              }
              input.popLimit(limit);
              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_ & 0x00000002) == 0x00000002)) {
          nacks_ = java.util.Collections.unmodifiableList(nacks_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.WireFormats.internal_static_AcknowledgementInfo_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.WireFormats.internal_static_AcknowledgementInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.WireFormats.AcknowledgementInfo.class, akka.remote.WireFormats.AcknowledgementInfo.Builder.class);
    }

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

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

    private int bitField0_;
    // required fixed64 cumulativeAck = 1;
    public static final int CUMULATIVEACK_FIELD_NUMBER = 1;
    private long cumulativeAck_;
    /**
     * <code>required fixed64 cumulativeAck = 1;</code>
     */
    public boolean hasCumulativeAck() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required fixed64 cumulativeAck = 1;</code>
     */
    public long getCumulativeAck() {
      return cumulativeAck_;
    }

    // repeated fixed64 nacks = 2;
    public static final int NACKS_FIELD_NUMBER = 2;
    private java.util.List<java.lang.Long> nacks_;
    /**
     * <code>repeated fixed64 nacks = 2;</code>
     */
    public java.util.List<java.lang.Long>
        getNacksList() {
      return nacks_;
    }
    /**
     * <code>repeated fixed64 nacks = 2;</code>
     */
    public int getNacksCount() {
      return nacks_.size();
    }
    /**
     * <code>repeated fixed64 nacks = 2;</code>
     */
    public long getNacks(int index) {
      return nacks_.get(index);
    }

    private void initFields() {
      cumulativeAck_ = 0L;
      nacks_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasCumulativeAck()) {
        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.writeFixed64(1, cumulativeAck_);
      }
      for (int i = 0; i < nacks_.size(); i++) {
        output.writeFixed64(2, nacks_.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
          .computeFixed64Size(1, cumulativeAck_);
      }
      {
        int dataSize = 0;
        dataSize = 8 * getNacksList().size();
        size += dataSize;
        size += 1 * getNacksList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

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

    public static akka.remote.WireFormats.AcknowledgementInfo parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.AcknowledgementInfo parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.AcknowledgementInfo parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.AcknowledgementInfo parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.AcknowledgementInfo parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.AcknowledgementInfo parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.AcknowledgementInfo parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.remote.WireFormats.AcknowledgementInfo parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.AcknowledgementInfo parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.AcknowledgementInfo 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.remote.WireFormats.AcknowledgementInfo 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 AcknowledgementInfo}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.remote.WireFormats.AcknowledgementInfoOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.WireFormats.internal_static_AcknowledgementInfo_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.WireFormats.internal_static_AcknowledgementInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.WireFormats.AcknowledgementInfo.class, akka.remote.WireFormats.AcknowledgementInfo.Builder.class);
      }

      // Construct using akka.remote.WireFormats.AcknowledgementInfo.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();
        cumulativeAck_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000001);
        nacks_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.WireFormats.internal_static_AcknowledgementInfo_descriptor;
      }

      public akka.remote.WireFormats.AcknowledgementInfo getDefaultInstanceForType() {
        return akka.remote.WireFormats.AcknowledgementInfo.getDefaultInstance();
      }

      public akka.remote.WireFormats.AcknowledgementInfo build() {
        akka.remote.WireFormats.AcknowledgementInfo result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public akka.remote.WireFormats.AcknowledgementInfo buildPartial() {
        akka.remote.WireFormats.AcknowledgementInfo result = new akka.remote.WireFormats.AcknowledgementInfo(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.cumulativeAck_ = cumulativeAck_;
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          nacks_ = java.util.Collections.unmodifiableList(nacks_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.nacks_ = nacks_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof akka.remote.WireFormats.AcknowledgementInfo) {
          return mergeFrom((akka.remote.WireFormats.AcknowledgementInfo)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.WireFormats.AcknowledgementInfo other) {
        if (other == akka.remote.WireFormats.AcknowledgementInfo.getDefaultInstance()) return this;
        if (other.hasCumulativeAck()) {
          setCumulativeAck(other.getCumulativeAck());
        }
        if (!other.nacks_.isEmpty()) {
          if (nacks_.isEmpty()) {
            nacks_ = other.nacks_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureNacksIsMutable();
            nacks_.addAll(other.nacks_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

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

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

      // required fixed64 cumulativeAck = 1;
      private long cumulativeAck_ ;
      /**
       * <code>required fixed64 cumulativeAck = 1;</code>
       */
      public boolean hasCumulativeAck() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required fixed64 cumulativeAck = 1;</code>
       */
      public long getCumulativeAck() {
        return cumulativeAck_;
      }
      /**
       * <code>required fixed64 cumulativeAck = 1;</code>
       */
      public Builder setCumulativeAck(long value) {
        bitField0_ |= 0x00000001;
        cumulativeAck_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required fixed64 cumulativeAck = 1;</code>
       */
      public Builder clearCumulativeAck() {
        bitField0_ = (bitField0_ & ~0x00000001);
        cumulativeAck_ = 0L;
        onChanged();
        return this;
      }

      // repeated fixed64 nacks = 2;
      private java.util.List<java.lang.Long> nacks_ = java.util.Collections.emptyList();
      private void ensureNacksIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          nacks_ = new java.util.ArrayList<java.lang.Long>(nacks_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * <code>repeated fixed64 nacks = 2;</code>
       */
      public java.util.List<java.lang.Long>
          getNacksList() {
        return java.util.Collections.unmodifiableList(nacks_);
      }
      /**
       * <code>repeated fixed64 nacks = 2;</code>
       */
      public int getNacksCount() {
        return nacks_.size();
      }
      /**
       * <code>repeated fixed64 nacks = 2;</code>
       */
      public long getNacks(int index) {
        return nacks_.get(index);
      }
      /**
       * <code>repeated fixed64 nacks = 2;</code>
       */
      public Builder setNacks(
          int index, long value) {
        ensureNacksIsMutable();
        nacks_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated fixed64 nacks = 2;</code>
       */
      public Builder addNacks(long value) {
        ensureNacksIsMutable();
        nacks_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated fixed64 nacks = 2;</code>
       */
      public Builder addAllNacks(
          java.lang.Iterable<? extends java.lang.Long> values) {
        ensureNacksIsMutable();
        super.addAll(values, nacks_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated fixed64 nacks = 2;</code>
       */
      public Builder clearNacks() {
        nacks_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:AcknowledgementInfo)
    }

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

    // @@protoc_insertion_point(class_scope:AcknowledgementInfo)
  }

  public interface ActorRefDataOrBuilder
      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();
  }
  /**
   * Protobuf type {@code ActorRefData}
   *
   * <pre>
   **
   * Defines a remote ActorRef that "remembers" and uses its original Actor instance
   * on the original node.
   * </pre>
   */
  public static final class ActorRefData extends
      com.google.protobuf.GeneratedMessage
      implements ActorRefDataOrBuilder {
    // Use ActorRefData.newBuilder() to construct.
    private ActorRefData(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private ActorRefData(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public ActorRefData getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private ActorRefData(
        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;
            }
          }
        }
      } 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.remote.WireFormats.internal_static_ActorRefData_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.WireFormats.internal_static_ActorRefData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.WireFormats.ActorRefData.class, akka.remote.WireFormats.ActorRefData.Builder.class);
    }

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

    @java.lang.Override
    public com.google.protobuf.Parser<ActorRefData> 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;
      }
    }

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

      if (!hasPath()) {
        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());
      }
      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());
      }
      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.remote.WireFormats.ActorRefData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.ActorRefData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.ActorRefData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.ActorRefData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.ActorRefData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.ActorRefData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.ActorRefData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.remote.WireFormats.ActorRefData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.ActorRefData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.ActorRefData 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.remote.WireFormats.ActorRefData 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 ActorRefData}
     *
     * <pre>
     **
     * Defines a remote ActorRef that "remembers" and uses its original Actor instance
     * on the original node.
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.remote.WireFormats.ActorRefDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.WireFormats.internal_static_ActorRefData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.WireFormats.internal_static_ActorRefData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.WireFormats.ActorRefData.class, akka.remote.WireFormats.ActorRefData.Builder.class);
      }

      // Construct using akka.remote.WireFormats.ActorRefData.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();
        path_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.WireFormats.internal_static_ActorRefData_descriptor;
      }

      public akka.remote.WireFormats.ActorRefData getDefaultInstanceForType() {
        return akka.remote.WireFormats.ActorRefData.getDefaultInstance();
      }

      public akka.remote.WireFormats.ActorRefData build() {
        akka.remote.WireFormats.ActorRefData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public akka.remote.WireFormats.ActorRefData buildPartial() {
        akka.remote.WireFormats.ActorRefData result = new akka.remote.WireFormats.ActorRefData(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.path_ = path_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof akka.remote.WireFormats.ActorRefData) {
          return mergeFrom((akka.remote.WireFormats.ActorRefData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.WireFormats.ActorRefData other) {
        if (other == akka.remote.WireFormats.ActorRefData.getDefaultInstance()) return this;
        if (other.hasPath()) {
          bitField0_ |= 0x00000001;
          path_ = other.path_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

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

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        akka.remote.WireFormats.ActorRefData parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (akka.remote.WireFormats.ActorRefData) 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;
      }

      // @@protoc_insertion_point(builder_scope:ActorRefData)
    }

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

    // @@protoc_insertion_point(class_scope:ActorRefData)
  }

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

    // required bytes message = 1;
    /**
     * <code>required bytes message = 1;</code>
     */
    boolean hasMessage();
    /**
     * <code>required bytes message = 1;</code>
     */
    com.google.protobuf.ByteString getMessage();

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

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

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

    public SerializedMessage getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private SerializedMessage(
        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;
              message_ = input.readBytes();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              serializerId_ = input.readInt32();
              break;
            }
            case 26: {
              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.remote.WireFormats.internal_static_SerializedMessage_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.WireFormats.internal_static_SerializedMessage_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.WireFormats.SerializedMessage.class, akka.remote.WireFormats.SerializedMessage.Builder.class);
    }

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

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

    private int bitField0_;
    // required bytes message = 1;
    public static final int MESSAGE_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString message_;
    /**
     * <code>required bytes message = 1;</code>
     */
    public boolean hasMessage() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required bytes message = 1;</code>
     */
    public com.google.protobuf.ByteString getMessage() {
      return message_;
    }

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

    private void initFields() {
      message_ = 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 (!hasMessage()) {
        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, message_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, serializerId_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, 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, message_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, serializerId_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, 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.remote.WireFormats.SerializedMessage parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.SerializedMessage parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.SerializedMessage parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.SerializedMessage parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.SerializedMessage parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.SerializedMessage parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.SerializedMessage parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.remote.WireFormats.SerializedMessage parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.SerializedMessage parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.SerializedMessage 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.remote.WireFormats.SerializedMessage 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 SerializedMessage}
     *
     * <pre>
     **
     * Defines a message.
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.remote.WireFormats.SerializedMessageOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.WireFormats.internal_static_SerializedMessage_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.WireFormats.internal_static_SerializedMessage_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.WireFormats.SerializedMessage.class, akka.remote.WireFormats.SerializedMessage.Builder.class);
      }

      // Construct using akka.remote.WireFormats.SerializedMessage.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();
        message_ = 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.remote.WireFormats.internal_static_SerializedMessage_descriptor;
      }

      public akka.remote.WireFormats.SerializedMessage getDefaultInstanceForType() {
        return akka.remote.WireFormats.SerializedMessage.getDefaultInstance();
      }

      public akka.remote.WireFormats.SerializedMessage build() {
        akka.remote.WireFormats.SerializedMessage result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public akka.remote.WireFormats.SerializedMessage buildPartial() {
        akka.remote.WireFormats.SerializedMessage result = new akka.remote.WireFormats.SerializedMessage(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.message_ = message_;
        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.remote.WireFormats.SerializedMessage) {
          return mergeFrom((akka.remote.WireFormats.SerializedMessage)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.WireFormats.SerializedMessage other) {
        if (other == akka.remote.WireFormats.SerializedMessage.getDefaultInstance()) return this;
        if (other.hasMessage()) {
          setMessage(other.getMessage());
        }
        if (other.hasSerializerId()) {
          setSerializerId(other.getSerializerId());
        }
        if (other.hasMessageManifest()) {
          setMessageManifest(other.getMessageManifest());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasMessage()) {
          
          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.remote.WireFormats.SerializedMessage parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (akka.remote.WireFormats.SerializedMessage) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // required bytes message = 1;
      private com.google.protobuf.ByteString message_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>required bytes message = 1;</code>
       */
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required bytes message = 1;</code>
       */
      public com.google.protobuf.ByteString getMessage() {
        return message_;
      }
      /**
       * <code>required bytes message = 1;</code>
       */
      public Builder setMessage(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        message_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes message = 1;</code>
       */
      public Builder clearMessage() {
        bitField0_ = (bitField0_ & ~0x00000001);
        message_ = getDefaultInstance().getMessage();
        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 = 3;
      private com.google.protobuf.ByteString messageManifest_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes messageManifest = 3;</code>
       */
      public boolean hasMessageManifest() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional bytes messageManifest = 3;</code>
       */
      public com.google.protobuf.ByteString getMessageManifest() {
        return messageManifest_;
      }
      /**
       * <code>optional bytes messageManifest = 3;</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 = 3;</code>
       */
      public Builder clearMessageManifest() {
        bitField0_ = (bitField0_ & ~0x00000004);
        messageManifest_ = getDefaultInstance().getMessageManifest();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:SerializedMessage)
    }

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

    // @@protoc_insertion_point(class_scope:SerializedMessage)
  }

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

    // required .PropsData props = 1;
    /**
     * <code>required .PropsData props = 1;</code>
     */
    boolean hasProps();
    /**
     * <code>required .PropsData props = 1;</code>
     */
    akka.remote.WireFormats.PropsData getProps();
    /**
     * <code>required .PropsData props = 1;</code>
     */
    akka.remote.WireFormats.PropsDataOrBuilder getPropsOrBuilder();

    // required .DeployData deploy = 2;
    /**
     * <code>required .DeployData deploy = 2;</code>
     */
    boolean hasDeploy();
    /**
     * <code>required .DeployData deploy = 2;</code>
     */
    akka.remote.WireFormats.DeployData getDeploy();
    /**
     * <code>required .DeployData deploy = 2;</code>
     */
    akka.remote.WireFormats.DeployDataOrBuilder getDeployOrBuilder();

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

    // required .ActorRefData supervisor = 4;
    /**
     * <code>required .ActorRefData supervisor = 4;</code>
     */
    boolean hasSupervisor();
    /**
     * <code>required .ActorRefData supervisor = 4;</code>
     */
    akka.remote.WireFormats.ActorRefData getSupervisor();
    /**
     * <code>required .ActorRefData supervisor = 4;</code>
     */
    akka.remote.WireFormats.ActorRefDataOrBuilder getSupervisorOrBuilder();
  }
  /**
   * Protobuf type {@code DaemonMsgCreateData}
   *
   * <pre>
   **
   * Defines akka.remote.DaemonMsgCreate
   * </pre>
   */
  public static final class DaemonMsgCreateData extends
      com.google.protobuf.GeneratedMessage
      implements DaemonMsgCreateDataOrBuilder {
    // Use DaemonMsgCreateData.newBuilder() to construct.
    private DaemonMsgCreateData(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private DaemonMsgCreateData(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public DaemonMsgCreateData getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private DaemonMsgCreateData(
        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.remote.WireFormats.PropsData.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = props_.toBuilder();
              }
              props_ = input.readMessage(akka.remote.WireFormats.PropsData.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(props_);
                props_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              akka.remote.WireFormats.DeployData.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = deploy_.toBuilder();
              }
              deploy_ = input.readMessage(akka.remote.WireFormats.DeployData.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(deploy_);
                deploy_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 26: {
              bitField0_ |= 0x00000004;
              path_ = input.readBytes();
              break;
            }
            case 34: {
              akka.remote.WireFormats.ActorRefData.Builder subBuilder = null;
              if (((bitField0_ & 0x00000008) == 0x00000008)) {
                subBuilder = supervisor_.toBuilder();
              }
              supervisor_ = input.readMessage(akka.remote.WireFormats.ActorRefData.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(supervisor_);
                supervisor_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000008;
              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.remote.WireFormats.internal_static_DaemonMsgCreateData_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.WireFormats.internal_static_DaemonMsgCreateData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.WireFormats.DaemonMsgCreateData.class, akka.remote.WireFormats.DaemonMsgCreateData.Builder.class);
    }

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

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

    private int bitField0_;
    // required .PropsData props = 1;
    public static final int PROPS_FIELD_NUMBER = 1;
    private akka.remote.WireFormats.PropsData props_;
    /**
     * <code>required .PropsData props = 1;</code>
     */
    public boolean hasProps() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required .PropsData props = 1;</code>
     */
    public akka.remote.WireFormats.PropsData getProps() {
      return props_;
    }
    /**
     * <code>required .PropsData props = 1;</code>
     */
    public akka.remote.WireFormats.PropsDataOrBuilder getPropsOrBuilder() {
      return props_;
    }

    // required .DeployData deploy = 2;
    public static final int DEPLOY_FIELD_NUMBER = 2;
    private akka.remote.WireFormats.DeployData deploy_;
    /**
     * <code>required .DeployData deploy = 2;</code>
     */
    public boolean hasDeploy() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>required .DeployData deploy = 2;</code>
     */
    public akka.remote.WireFormats.DeployData getDeploy() {
      return deploy_;
    }
    /**
     * <code>required .DeployData deploy = 2;</code>
     */
    public akka.remote.WireFormats.DeployDataOrBuilder getDeployOrBuilder() {
      return deploy_;
    }

    // required string path = 3;
    public static final int PATH_FIELD_NUMBER = 3;
    private java.lang.Object path_;
    /**
     * <code>required string path = 3;</code>
     */
    public boolean hasPath() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>required string path = 3;</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 = 3;</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 .ActorRefData supervisor = 4;
    public static final int SUPERVISOR_FIELD_NUMBER = 4;
    private akka.remote.WireFormats.ActorRefData supervisor_;
    /**
     * <code>required .ActorRefData supervisor = 4;</code>
     */
    public boolean hasSupervisor() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>required .ActorRefData supervisor = 4;</code>
     */
    public akka.remote.WireFormats.ActorRefData getSupervisor() {
      return supervisor_;
    }
    /**
     * <code>required .ActorRefData supervisor = 4;</code>
     */
    public akka.remote.WireFormats.ActorRefDataOrBuilder getSupervisorOrBuilder() {
      return supervisor_;
    }

    private void initFields() {
      props_ = akka.remote.WireFormats.PropsData.getDefaultInstance();
      deploy_ = akka.remote.WireFormats.DeployData.getDefaultInstance();
      path_ = "";
      supervisor_ = akka.remote.WireFormats.ActorRefData.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasProps()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasDeploy()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasPath()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasSupervisor()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getProps().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getDeploy().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getSupervisor().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, props_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, deploy_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, getPathBytes());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeMessage(4, supervisor_);
      }
      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, props_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, deploy_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, getPathBytes());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, supervisor_);
      }
      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.remote.WireFormats.DaemonMsgCreateData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.DaemonMsgCreateData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.DaemonMsgCreateData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.DaemonMsgCreateData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.DaemonMsgCreateData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.DaemonMsgCreateData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.DaemonMsgCreateData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.remote.WireFormats.DaemonMsgCreateData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.DaemonMsgCreateData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.DaemonMsgCreateData 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.remote.WireFormats.DaemonMsgCreateData 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 DaemonMsgCreateData}
     *
     * <pre>
     **
     * Defines akka.remote.DaemonMsgCreate
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.remote.WireFormats.DaemonMsgCreateDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.WireFormats.internal_static_DaemonMsgCreateData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.WireFormats.internal_static_DaemonMsgCreateData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.WireFormats.DaemonMsgCreateData.class, akka.remote.WireFormats.DaemonMsgCreateData.Builder.class);
      }

      // Construct using akka.remote.WireFormats.DaemonMsgCreateData.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      public Builder clear() {
        super.clear();
        if (propsBuilder_ == null) {
          props_ = akka.remote.WireFormats.PropsData.getDefaultInstance();
        } else {
          propsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (deployBuilder_ == null) {
          deploy_ = akka.remote.WireFormats.DeployData.getDefaultInstance();
        } else {
          deployBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        path_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        if (supervisorBuilder_ == null) {
          supervisor_ = akka.remote.WireFormats.ActorRefData.getDefaultInstance();
        } else {
          supervisorBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.WireFormats.internal_static_DaemonMsgCreateData_descriptor;
      }

      public akka.remote.WireFormats.DaemonMsgCreateData getDefaultInstanceForType() {
        return akka.remote.WireFormats.DaemonMsgCreateData.getDefaultInstance();
      }

      public akka.remote.WireFormats.DaemonMsgCreateData build() {
        akka.remote.WireFormats.DaemonMsgCreateData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public akka.remote.WireFormats.DaemonMsgCreateData buildPartial() {
        akka.remote.WireFormats.DaemonMsgCreateData result = new akka.remote.WireFormats.DaemonMsgCreateData(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (propsBuilder_ == null) {
          result.props_ = props_;
        } else {
          result.props_ = propsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (deployBuilder_ == null) {
          result.deploy_ = deploy_;
        } else {
          result.deploy_ = deployBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.path_ = path_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        if (supervisorBuilder_ == null) {
          result.supervisor_ = supervisor_;
        } else {
          result.supervisor_ = supervisorBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof akka.remote.WireFormats.DaemonMsgCreateData) {
          return mergeFrom((akka.remote.WireFormats.DaemonMsgCreateData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.WireFormats.DaemonMsgCreateData other) {
        if (other == akka.remote.WireFormats.DaemonMsgCreateData.getDefaultInstance()) return this;
        if (other.hasProps()) {
          mergeProps(other.getProps());
        }
        if (other.hasDeploy()) {
          mergeDeploy(other.getDeploy());
        }
        if (other.hasPath()) {
          bitField0_ |= 0x00000004;
          path_ = other.path_;
          onChanged();
        }
        if (other.hasSupervisor()) {
          mergeSupervisor(other.getSupervisor());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasProps()) {
          
          return false;
        }
        if (!hasDeploy()) {
          
          return false;
        }
        if (!hasPath()) {
          
          return false;
        }
        if (!hasSupervisor()) {
          
          return false;
        }
        if (!getProps().isInitialized()) {
          
          return false;
        }
        if (!getDeploy().isInitialized()) {
          
          return false;
        }
        if (!getSupervisor().isInitialized()) {
          
          return false;
        }
        return true;
      }

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

      // required .PropsData props = 1;
      private akka.remote.WireFormats.PropsData props_ = akka.remote.WireFormats.PropsData.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.PropsData, akka.remote.WireFormats.PropsData.Builder, akka.remote.WireFormats.PropsDataOrBuilder> propsBuilder_;
      /**
       * <code>required .PropsData props = 1;</code>
       */
      public boolean hasProps() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required .PropsData props = 1;</code>
       */
      public akka.remote.WireFormats.PropsData getProps() {
        if (propsBuilder_ == null) {
          return props_;
        } else {
          return propsBuilder_.getMessage();
        }
      }
      /**
       * <code>required .PropsData props = 1;</code>
       */
      public Builder setProps(akka.remote.WireFormats.PropsData value) {
        if (propsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          props_ = value;
          onChanged();
        } else {
          propsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .PropsData props = 1;</code>
       */
      public Builder setProps(
          akka.remote.WireFormats.PropsData.Builder builderForValue) {
        if (propsBuilder_ == null) {
          props_ = builderForValue.build();
          onChanged();
        } else {
          propsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .PropsData props = 1;</code>
       */
      public Builder mergeProps(akka.remote.WireFormats.PropsData value) {
        if (propsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              props_ != akka.remote.WireFormats.PropsData.getDefaultInstance()) {
            props_ =
              akka.remote.WireFormats.PropsData.newBuilder(props_).mergeFrom(value).buildPartial();
          } else {
            props_ = value;
          }
          onChanged();
        } else {
          propsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .PropsData props = 1;</code>
       */
      public Builder clearProps() {
        if (propsBuilder_ == null) {
          props_ = akka.remote.WireFormats.PropsData.getDefaultInstance();
          onChanged();
        } else {
          propsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>required .PropsData props = 1;</code>
       */
      public akka.remote.WireFormats.PropsData.Builder getPropsBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getPropsFieldBuilder().getBuilder();
      }
      /**
       * <code>required .PropsData props = 1;</code>
       */
      public akka.remote.WireFormats.PropsDataOrBuilder getPropsOrBuilder() {
        if (propsBuilder_ != null) {
          return propsBuilder_.getMessageOrBuilder();
        } else {
          return props_;
        }
      }
      /**
       * <code>required .PropsData props = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.PropsData, akka.remote.WireFormats.PropsData.Builder, akka.remote.WireFormats.PropsDataOrBuilder> 
          getPropsFieldBuilder() {
        if (propsBuilder_ == null) {
          propsBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              akka.remote.WireFormats.PropsData, akka.remote.WireFormats.PropsData.Builder, akka.remote.WireFormats.PropsDataOrBuilder>(
                  props_,
                  getParentForChildren(),
                  isClean());
          props_ = null;
        }
        return propsBuilder_;
      }

      // required .DeployData deploy = 2;
      private akka.remote.WireFormats.DeployData deploy_ = akka.remote.WireFormats.DeployData.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.DeployData, akka.remote.WireFormats.DeployData.Builder, akka.remote.WireFormats.DeployDataOrBuilder> deployBuilder_;
      /**
       * <code>required .DeployData deploy = 2;</code>
       */
      public boolean hasDeploy() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required .DeployData deploy = 2;</code>
       */
      public akka.remote.WireFormats.DeployData getDeploy() {
        if (deployBuilder_ == null) {
          return deploy_;
        } else {
          return deployBuilder_.getMessage();
        }
      }
      /**
       * <code>required .DeployData deploy = 2;</code>
       */
      public Builder setDeploy(akka.remote.WireFormats.DeployData value) {
        if (deployBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          deploy_ = value;
          onChanged();
        } else {
          deployBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .DeployData deploy = 2;</code>
       */
      public Builder setDeploy(
          akka.remote.WireFormats.DeployData.Builder builderForValue) {
        if (deployBuilder_ == null) {
          deploy_ = builderForValue.build();
          onChanged();
        } else {
          deployBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .DeployData deploy = 2;</code>
       */
      public Builder mergeDeploy(akka.remote.WireFormats.DeployData value) {
        if (deployBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              deploy_ != akka.remote.WireFormats.DeployData.getDefaultInstance()) {
            deploy_ =
              akka.remote.WireFormats.DeployData.newBuilder(deploy_).mergeFrom(value).buildPartial();
          } else {
            deploy_ = value;
          }
          onChanged();
        } else {
          deployBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .DeployData deploy = 2;</code>
       */
      public Builder clearDeploy() {
        if (deployBuilder_ == null) {
          deploy_ = akka.remote.WireFormats.DeployData.getDefaultInstance();
          onChanged();
        } else {
          deployBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>required .DeployData deploy = 2;</code>
       */
      public akka.remote.WireFormats.DeployData.Builder getDeployBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getDeployFieldBuilder().getBuilder();
      }
      /**
       * <code>required .DeployData deploy = 2;</code>
       */
      public akka.remote.WireFormats.DeployDataOrBuilder getDeployOrBuilder() {
        if (deployBuilder_ != null) {
          return deployBuilder_.getMessageOrBuilder();
        } else {
          return deploy_;
        }
      }
      /**
       * <code>required .DeployData deploy = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.DeployData, akka.remote.WireFormats.DeployData.Builder, akka.remote.WireFormats.DeployDataOrBuilder> 
          getDeployFieldBuilder() {
        if (deployBuilder_ == null) {
          deployBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              akka.remote.WireFormats.DeployData, akka.remote.WireFormats.DeployData.Builder, akka.remote.WireFormats.DeployDataOrBuilder>(
                  deploy_,
                  getParentForChildren(),
                  isClean());
          deploy_ = null;
        }
        return deployBuilder_;
      }

      // required string path = 3;
      private java.lang.Object path_ = "";
      /**
       * <code>required string path = 3;</code>
       */
      public boolean hasPath() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>required string path = 3;</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 = 3;</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 = 3;</code>
       */
      public Builder setPath(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        path_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string path = 3;</code>
       */
      public Builder clearPath() {
        bitField0_ = (bitField0_ & ~0x00000004);
        path_ = getDefaultInstance().getPath();
        onChanged();
        return this;
      }
      /**
       * <code>required string path = 3;</code>
       */
      public Builder setPathBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        path_ = value;
        onChanged();
        return this;
      }

      // required .ActorRefData supervisor = 4;
      private akka.remote.WireFormats.ActorRefData supervisor_ = akka.remote.WireFormats.ActorRefData.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.ActorRefData, akka.remote.WireFormats.ActorRefData.Builder, akka.remote.WireFormats.ActorRefDataOrBuilder> supervisorBuilder_;
      /**
       * <code>required .ActorRefData supervisor = 4;</code>
       */
      public boolean hasSupervisor() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>required .ActorRefData supervisor = 4;</code>
       */
      public akka.remote.WireFormats.ActorRefData getSupervisor() {
        if (supervisorBuilder_ == null) {
          return supervisor_;
        } else {
          return supervisorBuilder_.getMessage();
        }
      }
      /**
       * <code>required .ActorRefData supervisor = 4;</code>
       */
      public Builder setSupervisor(akka.remote.WireFormats.ActorRefData value) {
        if (supervisorBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          supervisor_ = value;
          onChanged();
        } else {
          supervisorBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <code>required .ActorRefData supervisor = 4;</code>
       */
      public Builder setSupervisor(
          akka.remote.WireFormats.ActorRefData.Builder builderForValue) {
        if (supervisorBuilder_ == null) {
          supervisor_ = builderForValue.build();
          onChanged();
        } else {
          supervisorBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <code>required .ActorRefData supervisor = 4;</code>
       */
      public Builder mergeSupervisor(akka.remote.WireFormats.ActorRefData value) {
        if (supervisorBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008) &&
              supervisor_ != akka.remote.WireFormats.ActorRefData.getDefaultInstance()) {
            supervisor_ =
              akka.remote.WireFormats.ActorRefData.newBuilder(supervisor_).mergeFrom(value).buildPartial();
          } else {
            supervisor_ = value;
          }
          onChanged();
        } else {
          supervisorBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <code>required .ActorRefData supervisor = 4;</code>
       */
      public Builder clearSupervisor() {
        if (supervisorBuilder_ == null) {
          supervisor_ = akka.remote.WireFormats.ActorRefData.getDefaultInstance();
          onChanged();
        } else {
          supervisorBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      /**
       * <code>required .ActorRefData supervisor = 4;</code>
       */
      public akka.remote.WireFormats.ActorRefData.Builder getSupervisorBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getSupervisorFieldBuilder().getBuilder();
      }
      /**
       * <code>required .ActorRefData supervisor = 4;</code>
       */
      public akka.remote.WireFormats.ActorRefDataOrBuilder getSupervisorOrBuilder() {
        if (supervisorBuilder_ != null) {
          return supervisorBuilder_.getMessageOrBuilder();
        } else {
          return supervisor_;
        }
      }
      /**
       * <code>required .ActorRefData supervisor = 4;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.ActorRefData, akka.remote.WireFormats.ActorRefData.Builder, akka.remote.WireFormats.ActorRefDataOrBuilder> 
          getSupervisorFieldBuilder() {
        if (supervisorBuilder_ == null) {
          supervisorBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              akka.remote.WireFormats.ActorRefData, akka.remote.WireFormats.ActorRefData.Builder, akka.remote.WireFormats.ActorRefDataOrBuilder>(
                  supervisor_,
                  getParentForChildren(),
                  isClean());
          supervisor_ = null;
        }
        return supervisorBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:DaemonMsgCreateData)
    }

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

    // @@protoc_insertion_point(class_scope:DaemonMsgCreateData)
  }

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

    // required .DeployData deploy = 2;
    /**
     * <code>required .DeployData deploy = 2;</code>
     */
    boolean hasDeploy();
    /**
     * <code>required .DeployData deploy = 2;</code>
     */
    akka.remote.WireFormats.DeployData getDeploy();
    /**
     * <code>required .DeployData deploy = 2;</code>
     */
    akka.remote.WireFormats.DeployDataOrBuilder getDeployOrBuilder();

    // required string clazz = 3;
    /**
     * <code>required string clazz = 3;</code>
     */
    boolean hasClazz();
    /**
     * <code>required string clazz = 3;</code>
     */
    java.lang.String getClazz();
    /**
     * <code>required string clazz = 3;</code>
     */
    com.google.protobuf.ByteString
        getClazzBytes();

    // repeated bytes args = 4;
    /**
     * <code>repeated bytes args = 4;</code>
     */
    java.util.List<com.google.protobuf.ByteString> getArgsList();
    /**
     * <code>repeated bytes args = 4;</code>
     */
    int getArgsCount();
    /**
     * <code>repeated bytes args = 4;</code>
     */
    com.google.protobuf.ByteString getArgs(int index);

    // repeated string classes = 5;
    /**
     * <code>repeated string classes = 5;</code>
     */
    java.util.List<java.lang.String>
    getClassesList();
    /**
     * <code>repeated string classes = 5;</code>
     */
    int getClassesCount();
    /**
     * <code>repeated string classes = 5;</code>
     */
    java.lang.String getClasses(int index);
    /**
     * <code>repeated string classes = 5;</code>
     */
    com.google.protobuf.ByteString
        getClassesBytes(int index);
  }
  /**
   * Protobuf type {@code PropsData}
   *
   * <pre>
   **
   * Serialization of akka.actor.Props
   * </pre>
   */
  public static final class PropsData extends
      com.google.protobuf.GeneratedMessage
      implements PropsDataOrBuilder {
    // Use PropsData.newBuilder() to construct.
    private PropsData(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private PropsData(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public PropsData getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private PropsData(
        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 18: {
              akka.remote.WireFormats.DeployData.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = deploy_.toBuilder();
              }
              deploy_ = input.readMessage(akka.remote.WireFormats.DeployData.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(deploy_);
                deploy_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 26: {
              bitField0_ |= 0x00000002;
              clazz_ = input.readBytes();
              break;
            }
            case 34: {
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                args_ = new java.util.ArrayList<com.google.protobuf.ByteString>();
                mutable_bitField0_ |= 0x00000004;
              }
              args_.add(input.readBytes());
              break;
            }
            case 42: {
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                classes_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000008;
              }
              classes_.add(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 {
        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
          args_ = java.util.Collections.unmodifiableList(args_);
        }
        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
          classes_ = new com.google.protobuf.UnmodifiableLazyStringList(classes_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.WireFormats.internal_static_PropsData_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.WireFormats.internal_static_PropsData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.WireFormats.PropsData.class, akka.remote.WireFormats.PropsData.Builder.class);
    }

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

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

    private int bitField0_;
    // required .DeployData deploy = 2;
    public static final int DEPLOY_FIELD_NUMBER = 2;
    private akka.remote.WireFormats.DeployData deploy_;
    /**
     * <code>required .DeployData deploy = 2;</code>
     */
    public boolean hasDeploy() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required .DeployData deploy = 2;</code>
     */
    public akka.remote.WireFormats.DeployData getDeploy() {
      return deploy_;
    }
    /**
     * <code>required .DeployData deploy = 2;</code>
     */
    public akka.remote.WireFormats.DeployDataOrBuilder getDeployOrBuilder() {
      return deploy_;
    }

    // required string clazz = 3;
    public static final int CLAZZ_FIELD_NUMBER = 3;
    private java.lang.Object clazz_;
    /**
     * <code>required string clazz = 3;</code>
     */
    public boolean hasClazz() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>required string clazz = 3;</code>
     */
    public java.lang.String getClazz() {
      java.lang.Object ref = clazz_;
      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()) {
          clazz_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string clazz = 3;</code>
     */
    public com.google.protobuf.ByteString
        getClazzBytes() {
      java.lang.Object ref = clazz_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        clazz_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // repeated bytes args = 4;
    public static final int ARGS_FIELD_NUMBER = 4;
    private java.util.List<com.google.protobuf.ByteString> args_;
    /**
     * <code>repeated bytes args = 4;</code>
     */
    public java.util.List<com.google.protobuf.ByteString>
        getArgsList() {
      return args_;
    }
    /**
     * <code>repeated bytes args = 4;</code>
     */
    public int getArgsCount() {
      return args_.size();
    }
    /**
     * <code>repeated bytes args = 4;</code>
     */
    public com.google.protobuf.ByteString getArgs(int index) {
      return args_.get(index);
    }

    // repeated string classes = 5;
    public static final int CLASSES_FIELD_NUMBER = 5;
    private com.google.protobuf.LazyStringList classes_;
    /**
     * <code>repeated string classes = 5;</code>
     */
    public java.util.List<java.lang.String>
        getClassesList() {
      return classes_;
    }
    /**
     * <code>repeated string classes = 5;</code>
     */
    public int getClassesCount() {
      return classes_.size();
    }
    /**
     * <code>repeated string classes = 5;</code>
     */
    public java.lang.String getClasses(int index) {
      return classes_.get(index);
    }
    /**
     * <code>repeated string classes = 5;</code>
     */
    public com.google.protobuf.ByteString
        getClassesBytes(int index) {
      return classes_.getByteString(index);
    }

    private void initFields() {
      deploy_ = akka.remote.WireFormats.DeployData.getDefaultInstance();
      clazz_ = "";
      args_ = java.util.Collections.emptyList();
      classes_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasDeploy()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasClazz()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getDeploy().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(2, deploy_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(3, getClazzBytes());
      }
      for (int i = 0; i < args_.size(); i++) {
        output.writeBytes(4, args_.get(i));
      }
      for (int i = 0; i < classes_.size(); i++) {
        output.writeBytes(5, classes_.getByteString(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, deploy_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, getClazzBytes());
      }
      {
        int dataSize = 0;
        for (int i = 0; i < args_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(args_.get(i));
        }
        size += dataSize;
        size += 1 * getArgsList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < classes_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(classes_.getByteString(i));
        }
        size += dataSize;
        size += 1 * getClassesList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

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

    public static akka.remote.WireFormats.PropsData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.PropsData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.PropsData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.PropsData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.PropsData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.PropsData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.PropsData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.remote.WireFormats.PropsData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.PropsData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.PropsData 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.remote.WireFormats.PropsData 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 PropsData}
     *
     * <pre>
     **
     * Serialization of akka.actor.Props
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.remote.WireFormats.PropsDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.WireFormats.internal_static_PropsData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.WireFormats.internal_static_PropsData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.WireFormats.PropsData.class, akka.remote.WireFormats.PropsData.Builder.class);
      }

      // Construct using akka.remote.WireFormats.PropsData.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      public Builder clear() {
        super.clear();
        if (deployBuilder_ == null) {
          deploy_ = akka.remote.WireFormats.DeployData.getDefaultInstance();
        } else {
          deployBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        clazz_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        args_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        classes_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.WireFormats.internal_static_PropsData_descriptor;
      }

      public akka.remote.WireFormats.PropsData getDefaultInstanceForType() {
        return akka.remote.WireFormats.PropsData.getDefaultInstance();
      }

      public akka.remote.WireFormats.PropsData build() {
        akka.remote.WireFormats.PropsData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public akka.remote.WireFormats.PropsData buildPartial() {
        akka.remote.WireFormats.PropsData result = new akka.remote.WireFormats.PropsData(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (deployBuilder_ == null) {
          result.deploy_ = deploy_;
        } else {
          result.deploy_ = deployBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.clazz_ = clazz_;
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          args_ = java.util.Collections.unmodifiableList(args_);
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.args_ = args_;
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          classes_ = new com.google.protobuf.UnmodifiableLazyStringList(
              classes_);
          bitField0_ = (bitField0_ & ~0x00000008);
        }
        result.classes_ = classes_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof akka.remote.WireFormats.PropsData) {
          return mergeFrom((akka.remote.WireFormats.PropsData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.WireFormats.PropsData other) {
        if (other == akka.remote.WireFormats.PropsData.getDefaultInstance()) return this;
        if (other.hasDeploy()) {
          mergeDeploy(other.getDeploy());
        }
        if (other.hasClazz()) {
          bitField0_ |= 0x00000002;
          clazz_ = other.clazz_;
          onChanged();
        }
        if (!other.args_.isEmpty()) {
          if (args_.isEmpty()) {
            args_ = other.args_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureArgsIsMutable();
            args_.addAll(other.args_);
          }
          onChanged();
        }
        if (!other.classes_.isEmpty()) {
          if (classes_.isEmpty()) {
            classes_ = other.classes_;
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            ensureClassesIsMutable();
            classes_.addAll(other.classes_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasDeploy()) {
          
          return false;
        }
        if (!hasClazz()) {
          
          return false;
        }
        if (!getDeploy().isInitialized()) {
          
          return false;
        }
        return true;
      }

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

      // required .DeployData deploy = 2;
      private akka.remote.WireFormats.DeployData deploy_ = akka.remote.WireFormats.DeployData.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.DeployData, akka.remote.WireFormats.DeployData.Builder, akka.remote.WireFormats.DeployDataOrBuilder> deployBuilder_;
      /**
       * <code>required .DeployData deploy = 2;</code>
       */
      public boolean hasDeploy() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required .DeployData deploy = 2;</code>
       */
      public akka.remote.WireFormats.DeployData getDeploy() {
        if (deployBuilder_ == null) {
          return deploy_;
        } else {
          return deployBuilder_.getMessage();
        }
      }
      /**
       * <code>required .DeployData deploy = 2;</code>
       */
      public Builder setDeploy(akka.remote.WireFormats.DeployData value) {
        if (deployBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          deploy_ = value;
          onChanged();
        } else {
          deployBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .DeployData deploy = 2;</code>
       */
      public Builder setDeploy(
          akka.remote.WireFormats.DeployData.Builder builderForValue) {
        if (deployBuilder_ == null) {
          deploy_ = builderForValue.build();
          onChanged();
        } else {
          deployBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .DeployData deploy = 2;</code>
       */
      public Builder mergeDeploy(akka.remote.WireFormats.DeployData value) {
        if (deployBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              deploy_ != akka.remote.WireFormats.DeployData.getDefaultInstance()) {
            deploy_ =
              akka.remote.WireFormats.DeployData.newBuilder(deploy_).mergeFrom(value).buildPartial();
          } else {
            deploy_ = value;
          }
          onChanged();
        } else {
          deployBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .DeployData deploy = 2;</code>
       */
      public Builder clearDeploy() {
        if (deployBuilder_ == null) {
          deploy_ = akka.remote.WireFormats.DeployData.getDefaultInstance();
          onChanged();
        } else {
          deployBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>required .DeployData deploy = 2;</code>
       */
      public akka.remote.WireFormats.DeployData.Builder getDeployBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getDeployFieldBuilder().getBuilder();
      }
      /**
       * <code>required .DeployData deploy = 2;</code>
       */
      public akka.remote.WireFormats.DeployDataOrBuilder getDeployOrBuilder() {
        if (deployBuilder_ != null) {
          return deployBuilder_.getMessageOrBuilder();
        } else {
          return deploy_;
        }
      }
      /**
       * <code>required .DeployData deploy = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.DeployData, akka.remote.WireFormats.DeployData.Builder, akka.remote.WireFormats.DeployDataOrBuilder> 
          getDeployFieldBuilder() {
        if (deployBuilder_ == null) {
          deployBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              akka.remote.WireFormats.DeployData, akka.remote.WireFormats.DeployData.Builder, akka.remote.WireFormats.DeployDataOrBuilder>(
                  deploy_,
                  getParentForChildren(),
                  isClean());
          deploy_ = null;
        }
        return deployBuilder_;
      }

      // required string clazz = 3;
      private java.lang.Object clazz_ = "";
      /**
       * <code>required string clazz = 3;</code>
       */
      public boolean hasClazz() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required string clazz = 3;</code>
       */
      public java.lang.String getClazz() {
        java.lang.Object ref = clazz_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          clazz_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string clazz = 3;</code>
       */
      public com.google.protobuf.ByteString
          getClazzBytes() {
        java.lang.Object ref = clazz_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          clazz_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>required string clazz = 3;</code>
       */
      public Builder setClazz(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        clazz_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string clazz = 3;</code>
       */
      public Builder clearClazz() {
        bitField0_ = (bitField0_ & ~0x00000002);
        clazz_ = getDefaultInstance().getClazz();
        onChanged();
        return this;
      }
      /**
       * <code>required string clazz = 3;</code>
       */
      public Builder setClazzBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        clazz_ = value;
        onChanged();
        return this;
      }

      // repeated bytes args = 4;
      private java.util.List<com.google.protobuf.ByteString> args_ = java.util.Collections.emptyList();
      private void ensureArgsIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          args_ = new java.util.ArrayList<com.google.protobuf.ByteString>(args_);
          bitField0_ |= 0x00000004;
         }
      }
      /**
       * <code>repeated bytes args = 4;</code>
       */
      public java.util.List<com.google.protobuf.ByteString>
          getArgsList() {
        return java.util.Collections.unmodifiableList(args_);
      }
      /**
       * <code>repeated bytes args = 4;</code>
       */
      public int getArgsCount() {
        return args_.size();
      }
      /**
       * <code>repeated bytes args = 4;</code>
       */
      public com.google.protobuf.ByteString getArgs(int index) {
        return args_.get(index);
      }
      /**
       * <code>repeated bytes args = 4;</code>
       */
      public Builder setArgs(
          int index, com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureArgsIsMutable();
        args_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated bytes args = 4;</code>
       */
      public Builder addArgs(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureArgsIsMutable();
        args_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated bytes args = 4;</code>
       */
      public Builder addAllArgs(
          java.lang.Iterable<? extends com.google.protobuf.ByteString> values) {
        ensureArgsIsMutable();
        super.addAll(values, args_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated bytes args = 4;</code>
       */
      public Builder clearArgs() {
        args_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }

      // repeated string classes = 5;
      private com.google.protobuf.LazyStringList classes_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureClassesIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          classes_ = new com.google.protobuf.LazyStringArrayList(classes_);
          bitField0_ |= 0x00000008;
         }
      }
      /**
       * <code>repeated string classes = 5;</code>
       */
      public java.util.List<java.lang.String>
          getClassesList() {
        return java.util.Collections.unmodifiableList(classes_);
      }
      /**
       * <code>repeated string classes = 5;</code>
       */
      public int getClassesCount() {
        return classes_.size();
      }
      /**
       * <code>repeated string classes = 5;</code>
       */
      public java.lang.String getClasses(int index) {
        return classes_.get(index);
      }
      /**
       * <code>repeated string classes = 5;</code>
       */
      public com.google.protobuf.ByteString
          getClassesBytes(int index) {
        return classes_.getByteString(index);
      }
      /**
       * <code>repeated string classes = 5;</code>
       */
      public Builder setClasses(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureClassesIsMutable();
        classes_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string classes = 5;</code>
       */
      public Builder addClasses(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureClassesIsMutable();
        classes_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string classes = 5;</code>
       */
      public Builder addAllClasses(
          java.lang.Iterable<java.lang.String> values) {
        ensureClassesIsMutable();
        super.addAll(values, classes_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string classes = 5;</code>
       */
      public Builder clearClasses() {
        classes_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string classes = 5;</code>
       */
      public Builder addClassesBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureClassesIsMutable();
        classes_.add(value);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:PropsData)
    }

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

    // @@protoc_insertion_point(class_scope:PropsData)
  }

  public interface DeployDataOrBuilder
      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();

    // optional bytes config = 2;
    /**
     * <code>optional bytes config = 2;</code>
     */
    boolean hasConfig();
    /**
     * <code>optional bytes config = 2;</code>
     */
    com.google.protobuf.ByteString getConfig();

    // optional bytes routerConfig = 3;
    /**
     * <code>optional bytes routerConfig = 3;</code>
     */
    boolean hasRouterConfig();
    /**
     * <code>optional bytes routerConfig = 3;</code>
     */
    com.google.protobuf.ByteString getRouterConfig();

    // optional bytes scope = 4;
    /**
     * <code>optional bytes scope = 4;</code>
     */
    boolean hasScope();
    /**
     * <code>optional bytes scope = 4;</code>
     */
    com.google.protobuf.ByteString getScope();

    // optional string dispatcher = 5;
    /**
     * <code>optional string dispatcher = 5;</code>
     */
    boolean hasDispatcher();
    /**
     * <code>optional string dispatcher = 5;</code>
     */
    java.lang.String getDispatcher();
    /**
     * <code>optional string dispatcher = 5;</code>
     */
    com.google.protobuf.ByteString
        getDispatcherBytes();
  }
  /**
   * Protobuf type {@code DeployData}
   *
   * <pre>
   **
   * Serialization of akka.actor.Deploy
   * </pre>
   */
  public static final class DeployData extends
      com.google.protobuf.GeneratedMessage
      implements DeployDataOrBuilder {
    // Use DeployData.newBuilder() to construct.
    private DeployData(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private DeployData(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public DeployData getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private DeployData(
        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 18: {
              bitField0_ |= 0x00000002;
              config_ = input.readBytes();
              break;
            }
            case 26: {
              bitField0_ |= 0x00000004;
              routerConfig_ = input.readBytes();
              break;
            }
            case 34: {
              bitField0_ |= 0x00000008;
              scope_ = input.readBytes();
              break;
            }
            case 42: {
              bitField0_ |= 0x00000010;
              dispatcher_ = 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.remote.WireFormats.internal_static_DeployData_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.WireFormats.internal_static_DeployData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.WireFormats.DeployData.class, akka.remote.WireFormats.DeployData.Builder.class);
    }

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

    @java.lang.Override
    public com.google.protobuf.Parser<DeployData> 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;
      }
    }

    // optional bytes config = 2;
    public static final int CONFIG_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString config_;
    /**
     * <code>optional bytes config = 2;</code>
     */
    public boolean hasConfig() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional bytes config = 2;</code>
     */
    public com.google.protobuf.ByteString getConfig() {
      return config_;
    }

    // optional bytes routerConfig = 3;
    public static final int ROUTERCONFIG_FIELD_NUMBER = 3;
    private com.google.protobuf.ByteString routerConfig_;
    /**
     * <code>optional bytes routerConfig = 3;</code>
     */
    public boolean hasRouterConfig() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional bytes routerConfig = 3;</code>
     */
    public com.google.protobuf.ByteString getRouterConfig() {
      return routerConfig_;
    }

    // optional bytes scope = 4;
    public static final int SCOPE_FIELD_NUMBER = 4;
    private com.google.protobuf.ByteString scope_;
    /**
     * <code>optional bytes scope = 4;</code>
     */
    public boolean hasScope() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional bytes scope = 4;</code>
     */
    public com.google.protobuf.ByteString getScope() {
      return scope_;
    }

    // optional string dispatcher = 5;
    public static final int DISPATCHER_FIELD_NUMBER = 5;
    private java.lang.Object dispatcher_;
    /**
     * <code>optional string dispatcher = 5;</code>
     */
    public boolean hasDispatcher() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional string dispatcher = 5;</code>
     */
    public java.lang.String getDispatcher() {
      java.lang.Object ref = dispatcher_;
      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()) {
          dispatcher_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string dispatcher = 5;</code>
     */
    public com.google.protobuf.ByteString
        getDispatcherBytes() {
      java.lang.Object ref = dispatcher_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        dispatcher_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      path_ = "";
      config_ = com.google.protobuf.ByteString.EMPTY;
      routerConfig_ = com.google.protobuf.ByteString.EMPTY;
      scope_ = com.google.protobuf.ByteString.EMPTY;
      dispatcher_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasPath()) {
        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.writeBytes(2, config_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, routerConfig_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBytes(4, scope_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeBytes(5, getDispatcherBytes());
      }
      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
          .computeBytesSize(2, config_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, routerConfig_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, scope_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(5, getDispatcherBytes());
      }
      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.remote.WireFormats.DeployData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.DeployData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.DeployData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.DeployData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.DeployData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.DeployData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.DeployData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.remote.WireFormats.DeployData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.DeployData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.DeployData 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.remote.WireFormats.DeployData 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 DeployData}
     *
     * <pre>
     **
     * Serialization of akka.actor.Deploy
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.remote.WireFormats.DeployDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.WireFormats.internal_static_DeployData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.WireFormats.internal_static_DeployData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.WireFormats.DeployData.class, akka.remote.WireFormats.DeployData.Builder.class);
      }

      // Construct using akka.remote.WireFormats.DeployData.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();
        path_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        config_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        routerConfig_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        scope_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000008);
        dispatcher_ = "";
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.WireFormats.internal_static_DeployData_descriptor;
      }

      public akka.remote.WireFormats.DeployData getDefaultInstanceForType() {
        return akka.remote.WireFormats.DeployData.getDefaultInstance();
      }

      public akka.remote.WireFormats.DeployData build() {
        akka.remote.WireFormats.DeployData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public akka.remote.WireFormats.DeployData buildPartial() {
        akka.remote.WireFormats.DeployData result = new akka.remote.WireFormats.DeployData(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.config_ = config_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.routerConfig_ = routerConfig_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.scope_ = scope_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.dispatcher_ = dispatcher_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof akka.remote.WireFormats.DeployData) {
          return mergeFrom((akka.remote.WireFormats.DeployData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.WireFormats.DeployData other) {
        if (other == akka.remote.WireFormats.DeployData.getDefaultInstance()) return this;
        if (other.hasPath()) {
          bitField0_ |= 0x00000001;
          path_ = other.path_;
          onChanged();
        }
        if (other.hasConfig()) {
          setConfig(other.getConfig());
        }
        if (other.hasRouterConfig()) {
          setRouterConfig(other.getRouterConfig());
        }
        if (other.hasScope()) {
          setScope(other.getScope());
        }
        if (other.hasDispatcher()) {
          bitField0_ |= 0x00000010;
          dispatcher_ = other.dispatcher_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

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

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        akka.remote.WireFormats.DeployData parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (akka.remote.WireFormats.DeployData) 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;
      }

      // optional bytes config = 2;
      private com.google.protobuf.ByteString config_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes config = 2;</code>
       */
      public boolean hasConfig() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional bytes config = 2;</code>
       */
      public com.google.protobuf.ByteString getConfig() {
        return config_;
      }
      /**
       * <code>optional bytes config = 2;</code>
       */
      public Builder setConfig(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        config_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes config = 2;</code>
       */
      public Builder clearConfig() {
        bitField0_ = (bitField0_ & ~0x00000002);
        config_ = getDefaultInstance().getConfig();
        onChanged();
        return this;
      }

      // optional bytes routerConfig = 3;
      private com.google.protobuf.ByteString routerConfig_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes routerConfig = 3;</code>
       */
      public boolean hasRouterConfig() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional bytes routerConfig = 3;</code>
       */
      public com.google.protobuf.ByteString getRouterConfig() {
        return routerConfig_;
      }
      /**
       * <code>optional bytes routerConfig = 3;</code>
       */
      public Builder setRouterConfig(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        routerConfig_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes routerConfig = 3;</code>
       */
      public Builder clearRouterConfig() {
        bitField0_ = (bitField0_ & ~0x00000004);
        routerConfig_ = getDefaultInstance().getRouterConfig();
        onChanged();
        return this;
      }

      // optional bytes scope = 4;
      private com.google.protobuf.ByteString scope_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes scope = 4;</code>
       */
      public boolean hasScope() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional bytes scope = 4;</code>
       */
      public com.google.protobuf.ByteString getScope() {
        return scope_;
      }
      /**
       * <code>optional bytes scope = 4;</code>
       */
      public Builder setScope(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        scope_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes scope = 4;</code>
       */
      public Builder clearScope() {
        bitField0_ = (bitField0_ & ~0x00000008);
        scope_ = getDefaultInstance().getScope();
        onChanged();
        return this;
      }

      // optional string dispatcher = 5;
      private java.lang.Object dispatcher_ = "";
      /**
       * <code>optional string dispatcher = 5;</code>
       */
      public boolean hasDispatcher() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional string dispatcher = 5;</code>
       */
      public java.lang.String getDispatcher() {
        java.lang.Object ref = dispatcher_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          dispatcher_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string dispatcher = 5;</code>
       */
      public com.google.protobuf.ByteString
          getDispatcherBytes() {
        java.lang.Object ref = dispatcher_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          dispatcher_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string dispatcher = 5;</code>
       */
      public Builder setDispatcher(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        dispatcher_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string dispatcher = 5;</code>
       */
      public Builder clearDispatcher() {
        bitField0_ = (bitField0_ & ~0x00000010);
        dispatcher_ = getDefaultInstance().getDispatcher();
        onChanged();
        return this;
      }
      /**
       * <code>optional string dispatcher = 5;</code>
       */
      public Builder setDispatcherBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        dispatcher_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:DeployData)
    }

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

    // @@protoc_insertion_point(class_scope:DeployData)
  }

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

    // optional bytes payload = 1;
    /**
     * <code>optional bytes payload = 1;</code>
     */
    boolean hasPayload();
    /**
     * <code>optional bytes payload = 1;</code>
     */
    com.google.protobuf.ByteString getPayload();

    // optional .AkkaControlMessage instruction = 2;
    /**
     * <code>optional .AkkaControlMessage instruction = 2;</code>
     */
    boolean hasInstruction();
    /**
     * <code>optional .AkkaControlMessage instruction = 2;</code>
     */
    akka.remote.WireFormats.AkkaControlMessage getInstruction();
    /**
     * <code>optional .AkkaControlMessage instruction = 2;</code>
     */
    akka.remote.WireFormats.AkkaControlMessageOrBuilder getInstructionOrBuilder();
  }
  /**
   * Protobuf type {@code AkkaProtocolMessage}
   *
   * <pre>
   **
   * Message format of Akka Protocol.
   * Message contains either a payload or an instruction.
   * </pre>
   */
  public static final class AkkaProtocolMessage extends
      com.google.protobuf.GeneratedMessage
      implements AkkaProtocolMessageOrBuilder {
    // Use AkkaProtocolMessage.newBuilder() to construct.
    private AkkaProtocolMessage(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private AkkaProtocolMessage(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public AkkaProtocolMessage getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private AkkaProtocolMessage(
        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;
              payload_ = input.readBytes();
              break;
            }
            case 18: {
              akka.remote.WireFormats.AkkaControlMessage.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = instruction_.toBuilder();
              }
              instruction_ = input.readMessage(akka.remote.WireFormats.AkkaControlMessage.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(instruction_);
                instruction_ = 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.remote.WireFormats.internal_static_AkkaProtocolMessage_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.WireFormats.internal_static_AkkaProtocolMessage_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.WireFormats.AkkaProtocolMessage.class, akka.remote.WireFormats.AkkaProtocolMessage.Builder.class);
    }

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

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

    private int bitField0_;
    // optional bytes payload = 1;
    public static final int PAYLOAD_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString payload_;
    /**
     * <code>optional bytes payload = 1;</code>
     */
    public boolean hasPayload() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional bytes payload = 1;</code>
     */
    public com.google.protobuf.ByteString getPayload() {
      return payload_;
    }

    // optional .AkkaControlMessage instruction = 2;
    public static final int INSTRUCTION_FIELD_NUMBER = 2;
    private akka.remote.WireFormats.AkkaControlMessage instruction_;
    /**
     * <code>optional .AkkaControlMessage instruction = 2;</code>
     */
    public boolean hasInstruction() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional .AkkaControlMessage instruction = 2;</code>
     */
    public akka.remote.WireFormats.AkkaControlMessage getInstruction() {
      return instruction_;
    }
    /**
     * <code>optional .AkkaControlMessage instruction = 2;</code>
     */
    public akka.remote.WireFormats.AkkaControlMessageOrBuilder getInstructionOrBuilder() {
      return instruction_;
    }

    private void initFields() {
      payload_ = com.google.protobuf.ByteString.EMPTY;
      instruction_ = akka.remote.WireFormats.AkkaControlMessage.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (hasInstruction()) {
        if (!getInstruction().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, payload_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, instruction_);
      }
      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, payload_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, instruction_);
      }
      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.remote.WireFormats.AkkaProtocolMessage parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.AkkaProtocolMessage parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.AkkaProtocolMessage parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.AkkaProtocolMessage parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.AkkaProtocolMessage parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.AkkaProtocolMessage parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.AkkaProtocolMessage parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.remote.WireFormats.AkkaProtocolMessage parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.AkkaProtocolMessage parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.AkkaProtocolMessage 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.remote.WireFormats.AkkaProtocolMessage 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 AkkaProtocolMessage}
     *
     * <pre>
     **
     * Message format of Akka Protocol.
     * Message contains either a payload or an instruction.
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.remote.WireFormats.AkkaProtocolMessageOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.WireFormats.internal_static_AkkaProtocolMessage_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.WireFormats.internal_static_AkkaProtocolMessage_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.WireFormats.AkkaProtocolMessage.class, akka.remote.WireFormats.AkkaProtocolMessage.Builder.class);
      }

      // Construct using akka.remote.WireFormats.AkkaProtocolMessage.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      public Builder clear() {
        super.clear();
        payload_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (instructionBuilder_ == null) {
          instruction_ = akka.remote.WireFormats.AkkaControlMessage.getDefaultInstance();
        } else {
          instructionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.WireFormats.internal_static_AkkaProtocolMessage_descriptor;
      }

      public akka.remote.WireFormats.AkkaProtocolMessage getDefaultInstanceForType() {
        return akka.remote.WireFormats.AkkaProtocolMessage.getDefaultInstance();
      }

      public akka.remote.WireFormats.AkkaProtocolMessage build() {
        akka.remote.WireFormats.AkkaProtocolMessage result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public akka.remote.WireFormats.AkkaProtocolMessage buildPartial() {
        akka.remote.WireFormats.AkkaProtocolMessage result = new akka.remote.WireFormats.AkkaProtocolMessage(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.payload_ = payload_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (instructionBuilder_ == null) {
          result.instruction_ = instruction_;
        } else {
          result.instruction_ = instructionBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof akka.remote.WireFormats.AkkaProtocolMessage) {
          return mergeFrom((akka.remote.WireFormats.AkkaProtocolMessage)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.WireFormats.AkkaProtocolMessage other) {
        if (other == akka.remote.WireFormats.AkkaProtocolMessage.getDefaultInstance()) return this;
        if (other.hasPayload()) {
          setPayload(other.getPayload());
        }
        if (other.hasInstruction()) {
          mergeInstruction(other.getInstruction());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (hasInstruction()) {
          if (!getInstruction().isInitialized()) {
            
            return false;
          }
        }
        return true;
      }

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

      // optional bytes payload = 1;
      private com.google.protobuf.ByteString payload_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes payload = 1;</code>
       */
      public boolean hasPayload() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional bytes payload = 1;</code>
       */
      public com.google.protobuf.ByteString getPayload() {
        return payload_;
      }
      /**
       * <code>optional bytes payload = 1;</code>
       */
      public Builder setPayload(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        payload_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes payload = 1;</code>
       */
      public Builder clearPayload() {
        bitField0_ = (bitField0_ & ~0x00000001);
        payload_ = getDefaultInstance().getPayload();
        onChanged();
        return this;
      }

      // optional .AkkaControlMessage instruction = 2;
      private akka.remote.WireFormats.AkkaControlMessage instruction_ = akka.remote.WireFormats.AkkaControlMessage.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.AkkaControlMessage, akka.remote.WireFormats.AkkaControlMessage.Builder, akka.remote.WireFormats.AkkaControlMessageOrBuilder> instructionBuilder_;
      /**
       * <code>optional .AkkaControlMessage instruction = 2;</code>
       */
      public boolean hasInstruction() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional .AkkaControlMessage instruction = 2;</code>
       */
      public akka.remote.WireFormats.AkkaControlMessage getInstruction() {
        if (instructionBuilder_ == null) {
          return instruction_;
        } else {
          return instructionBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .AkkaControlMessage instruction = 2;</code>
       */
      public Builder setInstruction(akka.remote.WireFormats.AkkaControlMessage value) {
        if (instructionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          instruction_ = value;
          onChanged();
        } else {
          instructionBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .AkkaControlMessage instruction = 2;</code>
       */
      public Builder setInstruction(
          akka.remote.WireFormats.AkkaControlMessage.Builder builderForValue) {
        if (instructionBuilder_ == null) {
          instruction_ = builderForValue.build();
          onChanged();
        } else {
          instructionBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .AkkaControlMessage instruction = 2;</code>
       */
      public Builder mergeInstruction(akka.remote.WireFormats.AkkaControlMessage value) {
        if (instructionBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              instruction_ != akka.remote.WireFormats.AkkaControlMessage.getDefaultInstance()) {
            instruction_ =
              akka.remote.WireFormats.AkkaControlMessage.newBuilder(instruction_).mergeFrom(value).buildPartial();
          } else {
            instruction_ = value;
          }
          onChanged();
        } else {
          instructionBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .AkkaControlMessage instruction = 2;</code>
       */
      public Builder clearInstruction() {
        if (instructionBuilder_ == null) {
          instruction_ = akka.remote.WireFormats.AkkaControlMessage.getDefaultInstance();
          onChanged();
        } else {
          instructionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>optional .AkkaControlMessage instruction = 2;</code>
       */
      public akka.remote.WireFormats.AkkaControlMessage.Builder getInstructionBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getInstructionFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .AkkaControlMessage instruction = 2;</code>
       */
      public akka.remote.WireFormats.AkkaControlMessageOrBuilder getInstructionOrBuilder() {
        if (instructionBuilder_ != null) {
          return instructionBuilder_.getMessageOrBuilder();
        } else {
          return instruction_;
        }
      }
      /**
       * <code>optional .AkkaControlMessage instruction = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.AkkaControlMessage, akka.remote.WireFormats.AkkaControlMessage.Builder, akka.remote.WireFormats.AkkaControlMessageOrBuilder> 
          getInstructionFieldBuilder() {
        if (instructionBuilder_ == null) {
          instructionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              akka.remote.WireFormats.AkkaControlMessage, akka.remote.WireFormats.AkkaControlMessage.Builder, akka.remote.WireFormats.AkkaControlMessageOrBuilder>(
                  instruction_,
                  getParentForChildren(),
                  isClean());
          instruction_ = null;
        }
        return instructionBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:AkkaProtocolMessage)
    }

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

    // @@protoc_insertion_point(class_scope:AkkaProtocolMessage)
  }

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

    // required .CommandType commandType = 1;
    /**
     * <code>required .CommandType commandType = 1;</code>
     */
    boolean hasCommandType();
    /**
     * <code>required .CommandType commandType = 1;</code>
     */
    akka.remote.WireFormats.CommandType getCommandType();

    // optional .AkkaHandshakeInfo handshakeInfo = 2;
    /**
     * <code>optional .AkkaHandshakeInfo handshakeInfo = 2;</code>
     */
    boolean hasHandshakeInfo();
    /**
     * <code>optional .AkkaHandshakeInfo handshakeInfo = 2;</code>
     */
    akka.remote.WireFormats.AkkaHandshakeInfo getHandshakeInfo();
    /**
     * <code>optional .AkkaHandshakeInfo handshakeInfo = 2;</code>
     */
    akka.remote.WireFormats.AkkaHandshakeInfoOrBuilder getHandshakeInfoOrBuilder();
  }
  /**
   * Protobuf type {@code AkkaControlMessage}
   *
   * <pre>
   **
   * Defines some control messages for the remoting
   * </pre>
   */
  public static final class AkkaControlMessage extends
      com.google.protobuf.GeneratedMessage
      implements AkkaControlMessageOrBuilder {
    // Use AkkaControlMessage.newBuilder() to construct.
    private AkkaControlMessage(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private AkkaControlMessage(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public AkkaControlMessage getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private AkkaControlMessage(
        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 8: {
              int rawValue = input.readEnum();
              akka.remote.WireFormats.CommandType value = akka.remote.WireFormats.CommandType.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(1, rawValue);
              } else {
                bitField0_ |= 0x00000001;
                commandType_ = value;
              }
              break;
            }
            case 18: {
              akka.remote.WireFormats.AkkaHandshakeInfo.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = handshakeInfo_.toBuilder();
              }
              handshakeInfo_ = input.readMessage(akka.remote.WireFormats.AkkaHandshakeInfo.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(handshakeInfo_);
                handshakeInfo_ = 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.remote.WireFormats.internal_static_AkkaControlMessage_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.WireFormats.internal_static_AkkaControlMessage_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.WireFormats.AkkaControlMessage.class, akka.remote.WireFormats.AkkaControlMessage.Builder.class);
    }

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

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

    private int bitField0_;
    // required .CommandType commandType = 1;
    public static final int COMMANDTYPE_FIELD_NUMBER = 1;
    private akka.remote.WireFormats.CommandType commandType_;
    /**
     * <code>required .CommandType commandType = 1;</code>
     */
    public boolean hasCommandType() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required .CommandType commandType = 1;</code>
     */
    public akka.remote.WireFormats.CommandType getCommandType() {
      return commandType_;
    }

    // optional .AkkaHandshakeInfo handshakeInfo = 2;
    public static final int HANDSHAKEINFO_FIELD_NUMBER = 2;
    private akka.remote.WireFormats.AkkaHandshakeInfo handshakeInfo_;
    /**
     * <code>optional .AkkaHandshakeInfo handshakeInfo = 2;</code>
     */
    public boolean hasHandshakeInfo() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional .AkkaHandshakeInfo handshakeInfo = 2;</code>
     */
    public akka.remote.WireFormats.AkkaHandshakeInfo getHandshakeInfo() {
      return handshakeInfo_;
    }
    /**
     * <code>optional .AkkaHandshakeInfo handshakeInfo = 2;</code>
     */
    public akka.remote.WireFormats.AkkaHandshakeInfoOrBuilder getHandshakeInfoOrBuilder() {
      return handshakeInfo_;
    }

    private void initFields() {
      commandType_ = akka.remote.WireFormats.CommandType.ASSOCIATE;
      handshakeInfo_ = akka.remote.WireFormats.AkkaHandshakeInfo.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasCommandType()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (hasHandshakeInfo()) {
        if (!getHandshakeInfo().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.writeEnum(1, commandType_.getNumber());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, handshakeInfo_);
      }
      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
          .computeEnumSize(1, commandType_.getNumber());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, handshakeInfo_);
      }
      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.remote.WireFormats.AkkaControlMessage parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.AkkaControlMessage parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.AkkaControlMessage parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.AkkaControlMessage parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.AkkaControlMessage parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.AkkaControlMessage parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.AkkaControlMessage parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.remote.WireFormats.AkkaControlMessage parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.AkkaControlMessage parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.AkkaControlMessage 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.remote.WireFormats.AkkaControlMessage 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 AkkaControlMessage}
     *
     * <pre>
     **
     * Defines some control messages for the remoting
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.remote.WireFormats.AkkaControlMessageOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.WireFormats.internal_static_AkkaControlMessage_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.WireFormats.internal_static_AkkaControlMessage_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.WireFormats.AkkaControlMessage.class, akka.remote.WireFormats.AkkaControlMessage.Builder.class);
      }

      // Construct using akka.remote.WireFormats.AkkaControlMessage.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      public Builder clear() {
        super.clear();
        commandType_ = akka.remote.WireFormats.CommandType.ASSOCIATE;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (handshakeInfoBuilder_ == null) {
          handshakeInfo_ = akka.remote.WireFormats.AkkaHandshakeInfo.getDefaultInstance();
        } else {
          handshakeInfoBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.WireFormats.internal_static_AkkaControlMessage_descriptor;
      }

      public akka.remote.WireFormats.AkkaControlMessage getDefaultInstanceForType() {
        return akka.remote.WireFormats.AkkaControlMessage.getDefaultInstance();
      }

      public akka.remote.WireFormats.AkkaControlMessage build() {
        akka.remote.WireFormats.AkkaControlMessage result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public akka.remote.WireFormats.AkkaControlMessage buildPartial() {
        akka.remote.WireFormats.AkkaControlMessage result = new akka.remote.WireFormats.AkkaControlMessage(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.commandType_ = commandType_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (handshakeInfoBuilder_ == null) {
          result.handshakeInfo_ = handshakeInfo_;
        } else {
          result.handshakeInfo_ = handshakeInfoBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof akka.remote.WireFormats.AkkaControlMessage) {
          return mergeFrom((akka.remote.WireFormats.AkkaControlMessage)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.WireFormats.AkkaControlMessage other) {
        if (other == akka.remote.WireFormats.AkkaControlMessage.getDefaultInstance()) return this;
        if (other.hasCommandType()) {
          setCommandType(other.getCommandType());
        }
        if (other.hasHandshakeInfo()) {
          mergeHandshakeInfo(other.getHandshakeInfo());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasCommandType()) {
          
          return false;
        }
        if (hasHandshakeInfo()) {
          if (!getHandshakeInfo().isInitialized()) {
            
            return false;
          }
        }
        return true;
      }

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

      // required .CommandType commandType = 1;
      private akka.remote.WireFormats.CommandType commandType_ = akka.remote.WireFormats.CommandType.ASSOCIATE;
      /**
       * <code>required .CommandType commandType = 1;</code>
       */
      public boolean hasCommandType() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required .CommandType commandType = 1;</code>
       */
      public akka.remote.WireFormats.CommandType getCommandType() {
        return commandType_;
      }
      /**
       * <code>required .CommandType commandType = 1;</code>
       */
      public Builder setCommandType(akka.remote.WireFormats.CommandType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        commandType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required .CommandType commandType = 1;</code>
       */
      public Builder clearCommandType() {
        bitField0_ = (bitField0_ & ~0x00000001);
        commandType_ = akka.remote.WireFormats.CommandType.ASSOCIATE;
        onChanged();
        return this;
      }

      // optional .AkkaHandshakeInfo handshakeInfo = 2;
      private akka.remote.WireFormats.AkkaHandshakeInfo handshakeInfo_ = akka.remote.WireFormats.AkkaHandshakeInfo.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.AkkaHandshakeInfo, akka.remote.WireFormats.AkkaHandshakeInfo.Builder, akka.remote.WireFormats.AkkaHandshakeInfoOrBuilder> handshakeInfoBuilder_;
      /**
       * <code>optional .AkkaHandshakeInfo handshakeInfo = 2;</code>
       */
      public boolean hasHandshakeInfo() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional .AkkaHandshakeInfo handshakeInfo = 2;</code>
       */
      public akka.remote.WireFormats.AkkaHandshakeInfo getHandshakeInfo() {
        if (handshakeInfoBuilder_ == null) {
          return handshakeInfo_;
        } else {
          return handshakeInfoBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .AkkaHandshakeInfo handshakeInfo = 2;</code>
       */
      public Builder setHandshakeInfo(akka.remote.WireFormats.AkkaHandshakeInfo value) {
        if (handshakeInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          handshakeInfo_ = value;
          onChanged();
        } else {
          handshakeInfoBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .AkkaHandshakeInfo handshakeInfo = 2;</code>
       */
      public Builder setHandshakeInfo(
          akka.remote.WireFormats.AkkaHandshakeInfo.Builder builderForValue) {
        if (handshakeInfoBuilder_ == null) {
          handshakeInfo_ = builderForValue.build();
          onChanged();
        } else {
          handshakeInfoBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .AkkaHandshakeInfo handshakeInfo = 2;</code>
       */
      public Builder mergeHandshakeInfo(akka.remote.WireFormats.AkkaHandshakeInfo value) {
        if (handshakeInfoBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              handshakeInfo_ != akka.remote.WireFormats.AkkaHandshakeInfo.getDefaultInstance()) {
            handshakeInfo_ =
              akka.remote.WireFormats.AkkaHandshakeInfo.newBuilder(handshakeInfo_).mergeFrom(value).buildPartial();
          } else {
            handshakeInfo_ = value;
          }
          onChanged();
        } else {
          handshakeInfoBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .AkkaHandshakeInfo handshakeInfo = 2;</code>
       */
      public Builder clearHandshakeInfo() {
        if (handshakeInfoBuilder_ == null) {
          handshakeInfo_ = akka.remote.WireFormats.AkkaHandshakeInfo.getDefaultInstance();
          onChanged();
        } else {
          handshakeInfoBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>optional .AkkaHandshakeInfo handshakeInfo = 2;</code>
       */
      public akka.remote.WireFormats.AkkaHandshakeInfo.Builder getHandshakeInfoBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getHandshakeInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .AkkaHandshakeInfo handshakeInfo = 2;</code>
       */
      public akka.remote.WireFormats.AkkaHandshakeInfoOrBuilder getHandshakeInfoOrBuilder() {
        if (handshakeInfoBuilder_ != null) {
          return handshakeInfoBuilder_.getMessageOrBuilder();
        } else {
          return handshakeInfo_;
        }
      }
      /**
       * <code>optional .AkkaHandshakeInfo handshakeInfo = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.AkkaHandshakeInfo, akka.remote.WireFormats.AkkaHandshakeInfo.Builder, akka.remote.WireFormats.AkkaHandshakeInfoOrBuilder> 
          getHandshakeInfoFieldBuilder() {
        if (handshakeInfoBuilder_ == null) {
          handshakeInfoBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              akka.remote.WireFormats.AkkaHandshakeInfo, akka.remote.WireFormats.AkkaHandshakeInfo.Builder, akka.remote.WireFormats.AkkaHandshakeInfoOrBuilder>(
                  handshakeInfo_,
                  getParentForChildren(),
                  isClean());
          handshakeInfo_ = null;
        }
        return handshakeInfoBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:AkkaControlMessage)
    }

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

    // @@protoc_insertion_point(class_scope:AkkaControlMessage)
  }

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

    // required .AddressData origin = 1;
    /**
     * <code>required .AddressData origin = 1;</code>
     */
    boolean hasOrigin();
    /**
     * <code>required .AddressData origin = 1;</code>
     */
    akka.remote.WireFormats.AddressData getOrigin();
    /**
     * <code>required .AddressData origin = 1;</code>
     */
    akka.remote.WireFormats.AddressDataOrBuilder getOriginOrBuilder();

    // required fixed64 uid = 2;
    /**
     * <code>required fixed64 uid = 2;</code>
     */
    boolean hasUid();
    /**
     * <code>required fixed64 uid = 2;</code>
     */
    long getUid();

    // optional string cookie = 3;
    /**
     * <code>optional string cookie = 3;</code>
     */
    boolean hasCookie();
    /**
     * <code>optional string cookie = 3;</code>
     */
    java.lang.String getCookie();
    /**
     * <code>optional string cookie = 3;</code>
     */
    com.google.protobuf.ByteString
        getCookieBytes();
  }
  /**
   * Protobuf type {@code AkkaHandshakeInfo}
   */
  public static final class AkkaHandshakeInfo extends
      com.google.protobuf.GeneratedMessage
      implements AkkaHandshakeInfoOrBuilder {
    // Use AkkaHandshakeInfo.newBuilder() to construct.
    private AkkaHandshakeInfo(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private AkkaHandshakeInfo(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public AkkaHandshakeInfo getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private AkkaHandshakeInfo(
        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.remote.WireFormats.AddressData.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = origin_.toBuilder();
              }
              origin_ = input.readMessage(akka.remote.WireFormats.AddressData.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(origin_);
                origin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 17: {
              bitField0_ |= 0x00000002;
              uid_ = input.readFixed64();
              break;
            }
            case 26: {
              bitField0_ |= 0x00000004;
              cookie_ = 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.remote.WireFormats.internal_static_AkkaHandshakeInfo_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.WireFormats.internal_static_AkkaHandshakeInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.WireFormats.AkkaHandshakeInfo.class, akka.remote.WireFormats.AkkaHandshakeInfo.Builder.class);
    }

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

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

    private int bitField0_;
    // required .AddressData origin = 1;
    public static final int ORIGIN_FIELD_NUMBER = 1;
    private akka.remote.WireFormats.AddressData origin_;
    /**
     * <code>required .AddressData origin = 1;</code>
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required .AddressData origin = 1;</code>
     */
    public akka.remote.WireFormats.AddressData getOrigin() {
      return origin_;
    }
    /**
     * <code>required .AddressData origin = 1;</code>
     */
    public akka.remote.WireFormats.AddressDataOrBuilder getOriginOrBuilder() {
      return origin_;
    }

    // required fixed64 uid = 2;
    public static final int UID_FIELD_NUMBER = 2;
    private long uid_;
    /**
     * <code>required fixed64 uid = 2;</code>
     */
    public boolean hasUid() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>required fixed64 uid = 2;</code>
     */
    public long getUid() {
      return uid_;
    }

    // optional string cookie = 3;
    public static final int COOKIE_FIELD_NUMBER = 3;
    private java.lang.Object cookie_;
    /**
     * <code>optional string cookie = 3;</code>
     */
    public boolean hasCookie() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional string cookie = 3;</code>
     */
    public java.lang.String getCookie() {
      java.lang.Object ref = cookie_;
      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()) {
          cookie_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string cookie = 3;</code>
     */
    public com.google.protobuf.ByteString
        getCookieBytes() {
      java.lang.Object ref = cookie_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        cookie_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      origin_ = akka.remote.WireFormats.AddressData.getDefaultInstance();
      uid_ = 0L;
      cookie_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasOrigin()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasUid()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getOrigin().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, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFixed64(2, uid_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, getCookieBytes());
      }
      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, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(2, uid_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, getCookieBytes());
      }
      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.remote.WireFormats.AkkaHandshakeInfo parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.AkkaHandshakeInfo parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.AkkaHandshakeInfo parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.AkkaHandshakeInfo parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.AkkaHandshakeInfo parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.AkkaHandshakeInfo parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.AkkaHandshakeInfo parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.remote.WireFormats.AkkaHandshakeInfo parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.AkkaHandshakeInfo parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.AkkaHandshakeInfo 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.remote.WireFormats.AkkaHandshakeInfo 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 AkkaHandshakeInfo}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.remote.WireFormats.AkkaHandshakeInfoOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.WireFormats.internal_static_AkkaHandshakeInfo_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.WireFormats.internal_static_AkkaHandshakeInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.WireFormats.AkkaHandshakeInfo.class, akka.remote.WireFormats.AkkaHandshakeInfo.Builder.class);
      }

      // Construct using akka.remote.WireFormats.AkkaHandshakeInfo.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      public Builder clear() {
        super.clear();
        if (originBuilder_ == null) {
          origin_ = akka.remote.WireFormats.AddressData.getDefaultInstance();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        uid_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000002);
        cookie_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.WireFormats.internal_static_AkkaHandshakeInfo_descriptor;
      }

      public akka.remote.WireFormats.AkkaHandshakeInfo getDefaultInstanceForType() {
        return akka.remote.WireFormats.AkkaHandshakeInfo.getDefaultInstance();
      }

      public akka.remote.WireFormats.AkkaHandshakeInfo build() {
        akka.remote.WireFormats.AkkaHandshakeInfo result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public akka.remote.WireFormats.AkkaHandshakeInfo buildPartial() {
        akka.remote.WireFormats.AkkaHandshakeInfo result = new akka.remote.WireFormats.AkkaHandshakeInfo(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (originBuilder_ == null) {
          result.origin_ = origin_;
        } else {
          result.origin_ = originBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.uid_ = uid_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.cookie_ = cookie_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof akka.remote.WireFormats.AkkaHandshakeInfo) {
          return mergeFrom((akka.remote.WireFormats.AkkaHandshakeInfo)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.WireFormats.AkkaHandshakeInfo other) {
        if (other == akka.remote.WireFormats.AkkaHandshakeInfo.getDefaultInstance()) return this;
        if (other.hasOrigin()) {
          mergeOrigin(other.getOrigin());
        }
        if (other.hasUid()) {
          setUid(other.getUid());
        }
        if (other.hasCookie()) {
          bitField0_ |= 0x00000004;
          cookie_ = other.cookie_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasOrigin()) {
          
          return false;
        }
        if (!hasUid()) {
          
          return false;
        }
        if (!getOrigin().isInitialized()) {
          
          return false;
        }
        return true;
      }

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

      // required .AddressData origin = 1;
      private akka.remote.WireFormats.AddressData origin_ = akka.remote.WireFormats.AddressData.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.AddressData, akka.remote.WireFormats.AddressData.Builder, akka.remote.WireFormats.AddressDataOrBuilder> originBuilder_;
      /**
       * <code>required .AddressData origin = 1;</code>
       */
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required .AddressData origin = 1;</code>
       */
      public akka.remote.WireFormats.AddressData getOrigin() {
        if (originBuilder_ == null) {
          return origin_;
        } else {
          return originBuilder_.getMessage();
        }
      }
      /**
       * <code>required .AddressData origin = 1;</code>
       */
      public Builder setOrigin(akka.remote.WireFormats.AddressData value) {
        if (originBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          origin_ = value;
          onChanged();
        } else {
          originBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .AddressData origin = 1;</code>
       */
      public Builder setOrigin(
          akka.remote.WireFormats.AddressData.Builder builderForValue) {
        if (originBuilder_ == null) {
          origin_ = builderForValue.build();
          onChanged();
        } else {
          originBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .AddressData origin = 1;</code>
       */
      public Builder mergeOrigin(akka.remote.WireFormats.AddressData value) {
        if (originBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              origin_ != akka.remote.WireFormats.AddressData.getDefaultInstance()) {
            origin_ =
              akka.remote.WireFormats.AddressData.newBuilder(origin_).mergeFrom(value).buildPartial();
          } else {
            origin_ = value;
          }
          onChanged();
        } else {
          originBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .AddressData origin = 1;</code>
       */
      public Builder clearOrigin() {
        if (originBuilder_ == null) {
          origin_ = akka.remote.WireFormats.AddressData.getDefaultInstance();
          onChanged();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>required .AddressData origin = 1;</code>
       */
      public akka.remote.WireFormats.AddressData.Builder getOriginBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOriginFieldBuilder().getBuilder();
      }
      /**
       * <code>required .AddressData origin = 1;</code>
       */
      public akka.remote.WireFormats.AddressDataOrBuilder getOriginOrBuilder() {
        if (originBuilder_ != null) {
          return originBuilder_.getMessageOrBuilder();
        } else {
          return origin_;
        }
      }
      /**
       * <code>required .AddressData origin = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          akka.remote.WireFormats.AddressData, akka.remote.WireFormats.AddressData.Builder, akka.remote.WireFormats.AddressDataOrBuilder> 
          getOriginFieldBuilder() {
        if (originBuilder_ == null) {
          originBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              akka.remote.WireFormats.AddressData, akka.remote.WireFormats.AddressData.Builder, akka.remote.WireFormats.AddressDataOrBuilder>(
                  origin_,
                  getParentForChildren(),
                  isClean());
          origin_ = null;
        }
        return originBuilder_;
      }

      // required fixed64 uid = 2;
      private long uid_ ;
      /**
       * <code>required fixed64 uid = 2;</code>
       */
      public boolean hasUid() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required fixed64 uid = 2;</code>
       */
      public long getUid() {
        return uid_;
      }
      /**
       * <code>required fixed64 uid = 2;</code>
       */
      public Builder setUid(long value) {
        bitField0_ |= 0x00000002;
        uid_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required fixed64 uid = 2;</code>
       */
      public Builder clearUid() {
        bitField0_ = (bitField0_ & ~0x00000002);
        uid_ = 0L;
        onChanged();
        return this;
      }

      // optional string cookie = 3;
      private java.lang.Object cookie_ = "";
      /**
       * <code>optional string cookie = 3;</code>
       */
      public boolean hasCookie() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional string cookie = 3;</code>
       */
      public java.lang.String getCookie() {
        java.lang.Object ref = cookie_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          cookie_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string cookie = 3;</code>
       */
      public com.google.protobuf.ByteString
          getCookieBytes() {
        java.lang.Object ref = cookie_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          cookie_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string cookie = 3;</code>
       */
      public Builder setCookie(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        cookie_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string cookie = 3;</code>
       */
      public Builder clearCookie() {
        bitField0_ = (bitField0_ & ~0x00000004);
        cookie_ = getDefaultInstance().getCookie();
        onChanged();
        return this;
      }
      /**
       * <code>optional string cookie = 3;</code>
       */
      public Builder setCookieBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        cookie_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:AkkaHandshakeInfo)
    }

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

    // @@protoc_insertion_point(class_scope:AkkaHandshakeInfo)
  }

  public interface AddressDataOrBuilder
      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 AddressData}
   *
   * <pre>
   **
   * Defines a remote address.
   * </pre>
   */
  public static final class AddressData extends
      com.google.protobuf.GeneratedMessage
      implements AddressDataOrBuilder {
    // Use AddressData.newBuilder() to construct.
    private AddressData(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private AddressData(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

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

    public AddressData getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private AddressData(
        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.remote.WireFormats.internal_static_AddressData_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.WireFormats.internal_static_AddressData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.WireFormats.AddressData.class, akka.remote.WireFormats.AddressData.Builder.class);
    }

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

    @java.lang.Override
    public com.google.protobuf.Parser<AddressData> 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.remote.WireFormats.AddressData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.AddressData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.AddressData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.WireFormats.AddressData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.WireFormats.AddressData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.AddressData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.AddressData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static akka.remote.WireFormats.AddressData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static akka.remote.WireFormats.AddressData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static akka.remote.WireFormats.AddressData 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.remote.WireFormats.AddressData 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 AddressData}
     *
     * <pre>
     **
     * Defines a remote address.
     * </pre>
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements akka.remote.WireFormats.AddressDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.WireFormats.internal_static_AddressData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.WireFormats.internal_static_AddressData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.WireFormats.AddressData.class, akka.remote.WireFormats.AddressData.Builder.class);
      }

      // Construct using akka.remote.WireFormats.AddressData.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.remote.WireFormats.internal_static_AddressData_descriptor;
      }

      public akka.remote.WireFormats.AddressData getDefaultInstanceForType() {
        return akka.remote.WireFormats.AddressData.getDefaultInstance();
      }

      public akka.remote.WireFormats.AddressData build() {
        akka.remote.WireFormats.AddressData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public akka.remote.WireFormats.AddressData buildPartial() {
        akka.remote.WireFormats.AddressData result = new akka.remote.WireFormats.AddressData(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.remote.WireFormats.AddressData) {
          return mergeFrom((akka.remote.WireFormats.AddressData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.WireFormats.AddressData other) {
        if (other == akka.remote.WireFormats.AddressData.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.remote.WireFormats.AddressData parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (akka.remote.WireFormats.AddressData) 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:AddressData)
    }

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

    // @@protoc_insertion_point(class_scope:AddressData)
  }

  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_AckAndEnvelopeContainer_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_AckAndEnvelopeContainer_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_RemoteEnvelope_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_RemoteEnvelope_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_AcknowledgementInfo_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_AcknowledgementInfo_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_ActorRefData_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_ActorRefData_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_SerializedMessage_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_SerializedMessage_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_DaemonMsgCreateData_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_DaemonMsgCreateData_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_PropsData_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_PropsData_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_DeployData_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_DeployData_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_AkkaProtocolMessage_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_AkkaProtocolMessage_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_AkkaControlMessage_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_AkkaControlMessage_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_AkkaHandshakeInfo_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_AkkaHandshakeInfo_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_AddressData_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_AddressData_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\021WireFormats.proto\"_\n\027AckAndEnvelopeCon" +
      "tainer\022!\n\003ack\030\001 \001(\0132\024.AcknowledgementInf" +
      "o\022!\n\010envelope\030\002 \001(\0132\017.RemoteEnvelope\"\203\001\n" +
      "\016RemoteEnvelope\022 \n\trecipient\030\001 \002(\0132\r.Act" +
      "orRefData\022#\n\007message\030\002 \002(\0132\022.SerializedM" +
      "essage\022\035\n\006sender\030\004 \001(\0132\r.ActorRefData\022\013\n" +
      "\003seq\030\005 \001(\006\";\n\023AcknowledgementInfo\022\025\n\rcum" +
      "ulativeAck\030\001 \002(\006\022\r\n\005nacks\030\002 \003(\006\"\034\n\014Actor" +
      "RefData\022\014\n\004path\030\001 \002(\t\"S\n\021SerializedMessa" +
      "ge\022\017\n\007message\030\001 \002(\014\022\024\n\014serializerId\030\002 \002(",
      "\005\022\027\n\017messageManifest\030\003 \001(\014\"~\n\023DaemonMsgC" +
      "reateData\022\031\n\005props\030\001 \002(\0132\n.PropsData\022\033\n\006" +
      "deploy\030\002 \002(\0132\013.DeployData\022\014\n\004path\030\003 \002(\t\022" +
      "!\n\nsupervisor\030\004 \002(\0132\r.ActorRefData\"V\n\tPr" +
      "opsData\022\033\n\006deploy\030\002 \002(\0132\013.DeployData\022\r\n\005" +
      "clazz\030\003 \002(\t\022\014\n\004args\030\004 \003(\014\022\017\n\007classes\030\005 \003" +
      "(\t\"c\n\nDeployData\022\014\n\004path\030\001 \002(\t\022\016\n\006config" +
      "\030\002 \001(\014\022\024\n\014routerConfig\030\003 \001(\014\022\r\n\005scope\030\004 " +
      "\001(\014\022\022\n\ndispatcher\030\005 \001(\t\"P\n\023AkkaProtocolM" +
      "essage\022\017\n\007payload\030\001 \001(\014\022(\n\013instruction\030\002",
      " \001(\0132\023.AkkaControlMessage\"b\n\022AkkaControl" +
      "Message\022!\n\013commandType\030\001 \002(\0162\014.CommandTy" +
      "pe\022)\n\rhandshakeInfo\030\002 \001(\0132\022.AkkaHandshak" +
      "eInfo\"N\n\021AkkaHandshakeInfo\022\034\n\006origin\030\001 \002" +
      "(\0132\014.AddressData\022\013\n\003uid\030\002 \002(\006\022\016\n\006cookie\030" +
      "\003 \001(\t\"O\n\013AddressData\022\016\n\006system\030\001 \002(\t\022\020\n\010" +
      "hostname\030\002 \002(\t\022\014\n\004port\030\003 \002(\r\022\020\n\010protocol" +
      "\030\004 \001(\t*{\n\013CommandType\022\r\n\tASSOCIATE\020\001\022\020\n\014" +
      "DISASSOCIATE\020\002\022\r\n\tHEARTBEAT\020\003\022\036\n\032DISASSO" +
      "CIATE_SHUTTING_DOWN\020\004\022\034\n\030DISASSOCIATE_QU",
      "ARANTINED\020\005B\017\n\013akka.remoteH\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_AckAndEnvelopeContainer_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_AckAndEnvelopeContainer_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_AckAndEnvelopeContainer_descriptor,
              new java.lang.String[] { "Ack", "Envelope", });
          internal_static_RemoteEnvelope_descriptor =
            getDescriptor().getMessageTypes().get(1);
          internal_static_RemoteEnvelope_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_RemoteEnvelope_descriptor,
              new java.lang.String[] { "Recipient", "Message", "Sender", "Seq", });
          internal_static_AcknowledgementInfo_descriptor =
            getDescriptor().getMessageTypes().get(2);
          internal_static_AcknowledgementInfo_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_AcknowledgementInfo_descriptor,
              new java.lang.String[] { "CumulativeAck", "Nacks", });
          internal_static_ActorRefData_descriptor =
            getDescriptor().getMessageTypes().get(3);
          internal_static_ActorRefData_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_ActorRefData_descriptor,
              new java.lang.String[] { "Path", });
          internal_static_SerializedMessage_descriptor =
            getDescriptor().getMessageTypes().get(4);
          internal_static_SerializedMessage_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_SerializedMessage_descriptor,
              new java.lang.String[] { "Message", "SerializerId", "MessageManifest", });
          internal_static_DaemonMsgCreateData_descriptor =
            getDescriptor().getMessageTypes().get(5);
          internal_static_DaemonMsgCreateData_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_DaemonMsgCreateData_descriptor,
              new java.lang.String[] { "Props", "Deploy", "Path", "Supervisor", });
          internal_static_PropsData_descriptor =
            getDescriptor().getMessageTypes().get(6);
          internal_static_PropsData_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_PropsData_descriptor,
              new java.lang.String[] { "Deploy", "Clazz", "Args", "Classes", });
          internal_static_DeployData_descriptor =
            getDescriptor().getMessageTypes().get(7);
          internal_static_DeployData_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_DeployData_descriptor,
              new java.lang.String[] { "Path", "Config", "RouterConfig", "Scope", "Dispatcher", });
          internal_static_AkkaProtocolMessage_descriptor =
            getDescriptor().getMessageTypes().get(8);
          internal_static_AkkaProtocolMessage_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_AkkaProtocolMessage_descriptor,
              new java.lang.String[] { "Payload", "Instruction", });
          internal_static_AkkaControlMessage_descriptor =
            getDescriptor().getMessageTypes().get(9);
          internal_static_AkkaControlMessage_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_AkkaControlMessage_descriptor,
              new java.lang.String[] { "CommandType", "HandshakeInfo", });
          internal_static_AkkaHandshakeInfo_descriptor =
            getDescriptor().getMessageTypes().get(10);
          internal_static_AkkaHandshakeInfo_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_AkkaHandshakeInfo_descriptor,
              new java.lang.String[] { "Origin", "Uid", "Cookie", });
          internal_static_AddressData_descriptor =
            getDescriptor().getMessageTypes().get(11);
          internal_static_AddressData_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_AddressData_descriptor,
              new java.lang.String[] { "System", "Hostname", "Port", "Protocol", });
          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 WireFormats.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.