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

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

package akka.remote;

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

  public static void registerAllExtensions(
      akka.protobufv3.internal.ExtensionRegistry registry) {
    registerAllExtensions(
        (akka.protobufv3.internal.ExtensionRegistryLite) registry);
  }
  /**
   * Protobuf enum {@code PatternType}
   */
  public enum PatternType
      implements akka.protobufv3.internal.ProtocolMessageEnum {
    /**
     * <code>PARENT = 0;</code>
     */
    PARENT(0),
    /**
     * <code>CHILD_NAME = 1;</code>
     */
    CHILD_NAME(1),
    /**
     * <code>CHILD_PATTERN = 2;</code>
     */
    CHILD_PATTERN(2),
    ;

    /**
     * <code>PARENT = 0;</code>
     */
    public static final int PARENT_VALUE = 0;
    /**
     * <code>CHILD_NAME = 1;</code>
     */
    public static final int CHILD_NAME_VALUE = 1;
    /**
     * <code>CHILD_PATTERN = 2;</code>
     */
    public static final int CHILD_PATTERN_VALUE = 2;


    public final int getNumber() {
      return value;
    }

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

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

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

    public final akka.protobufv3.internal.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(ordinal());
    }
    public final akka.protobufv3.internal.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final akka.protobufv3.internal.Descriptors.EnumDescriptor
        getDescriptor() {
      return akka.remote.ContainerFormats.getDescriptor().getEnumTypes().get(0);
    }

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

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

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:PatternType)
  }

  public interface SelectionEnvelopeOrBuilder extends
      // @@protoc_insertion_point(interface_extends:SelectionEnvelope)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required bytes enclosedMessage = 1;</code>
     * @return Whether the enclosedMessage field is set.
     */
    boolean hasEnclosedMessage();
    /**
     * <code>required bytes enclosedMessage = 1;</code>
     * @return The enclosedMessage.
     */
    akka.protobufv3.internal.ByteString getEnclosedMessage();

    /**
     * <code>required int32 serializerId = 2;</code>
     * @return Whether the serializerId field is set.
     */
    boolean hasSerializerId();
    /**
     * <code>required int32 serializerId = 2;</code>
     * @return The serializerId.
     */
    int getSerializerId();

    /**
     * <code>repeated .Selection pattern = 3;</code>
     */
    java.util.List<akka.remote.ContainerFormats.Selection> 
        getPatternList();
    /**
     * <code>repeated .Selection pattern = 3;</code>
     */
    akka.remote.ContainerFormats.Selection getPattern(int index);
    /**
     * <code>repeated .Selection pattern = 3;</code>
     */
    int getPatternCount();
    /**
     * <code>repeated .Selection pattern = 3;</code>
     */
    java.util.List<? extends akka.remote.ContainerFormats.SelectionOrBuilder> 
        getPatternOrBuilderList();
    /**
     * <code>repeated .Selection pattern = 3;</code>
     */
    akka.remote.ContainerFormats.SelectionOrBuilder getPatternOrBuilder(
        int index);

    /**
     * <code>optional bytes messageManifest = 4;</code>
     * @return Whether the messageManifest field is set.
     */
    boolean hasMessageManifest();
    /**
     * <code>optional bytes messageManifest = 4;</code>
     * @return The messageManifest.
     */
    akka.protobufv3.internal.ByteString getMessageManifest();

    /**
     * <pre>
     * optional for pre 2.3.4 compatibility 
     * </pre>
     *
     * <code>optional bool wildcardFanOut = 5;</code>
     * @return Whether the wildcardFanOut field is set.
     */
    boolean hasWildcardFanOut();
    /**
     * <pre>
     * optional for pre 2.3.4 compatibility 
     * </pre>
     *
     * <code>optional bool wildcardFanOut = 5;</code>
     * @return The wildcardFanOut.
     */
    boolean getWildcardFanOut();
  }
  /**
   * Protobuf type {@code SelectionEnvelope}
   */
  public  static final class SelectionEnvelope extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:SelectionEnvelope)
      SelectionEnvelopeOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use SelectionEnvelope.newBuilder() to construct.
    private SelectionEnvelope(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private SelectionEnvelope() {
      enclosedMessage_ = akka.protobufv3.internal.ByteString.EMPTY;
      pattern_ = java.util.Collections.emptyList();
      messageManifest_ = akka.protobufv3.internal.ByteString.EMPTY;
    }

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

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private SelectionEnvelope(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              bitField0_ |= 0x00000001;
              enclosedMessage_ = input.readBytes();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              serializerId_ = input.readInt32();
              break;
            }
            case 26: {
              if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                pattern_ = new java.util.ArrayList<akka.remote.ContainerFormats.Selection>();
                mutable_bitField0_ |= 0x00000004;
              }
              pattern_.add(
                  input.readMessage(akka.remote.ContainerFormats.Selection.PARSER, extensionRegistry));
              break;
            }
            case 34: {
              bitField0_ |= 0x00000004;
              messageManifest_ = input.readBytes();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000008;
              wildcardFanOut_ = input.readBool();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000004) != 0)) {
          pattern_ = java.util.Collections.unmodifiableList(pattern_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.ContainerFormats.internal_static_SelectionEnvelope_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ContainerFormats.internal_static_SelectionEnvelope_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ContainerFormats.SelectionEnvelope.class, akka.remote.ContainerFormats.SelectionEnvelope.Builder.class);
    }

    private int bitField0_;
    public static final int ENCLOSEDMESSAGE_FIELD_NUMBER = 1;
    private akka.protobufv3.internal.ByteString enclosedMessage_;
    /**
     * <code>required bytes enclosedMessage = 1;</code>
     * @return Whether the enclosedMessage field is set.
     */
    public boolean hasEnclosedMessage() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required bytes enclosedMessage = 1;</code>
     * @return The enclosedMessage.
     */
    public akka.protobufv3.internal.ByteString getEnclosedMessage() {
      return enclosedMessage_;
    }

    public static final int SERIALIZERID_FIELD_NUMBER = 2;
    private int serializerId_;
    /**
     * <code>required int32 serializerId = 2;</code>
     * @return Whether the serializerId field is set.
     */
    public boolean hasSerializerId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required int32 serializerId = 2;</code>
     * @return The serializerId.
     */
    public int getSerializerId() {
      return serializerId_;
    }

    public static final int PATTERN_FIELD_NUMBER = 3;
    private java.util.List<akka.remote.ContainerFormats.Selection> pattern_;
    /**
     * <code>repeated .Selection pattern = 3;</code>
     */
    public java.util.List<akka.remote.ContainerFormats.Selection> getPatternList() {
      return pattern_;
    }
    /**
     * <code>repeated .Selection pattern = 3;</code>
     */
    public java.util.List<? extends akka.remote.ContainerFormats.SelectionOrBuilder> 
        getPatternOrBuilderList() {
      return pattern_;
    }
    /**
     * <code>repeated .Selection pattern = 3;</code>
     */
    public int getPatternCount() {
      return pattern_.size();
    }
    /**
     * <code>repeated .Selection pattern = 3;</code>
     */
    public akka.remote.ContainerFormats.Selection getPattern(int index) {
      return pattern_.get(index);
    }
    /**
     * <code>repeated .Selection pattern = 3;</code>
     */
    public akka.remote.ContainerFormats.SelectionOrBuilder getPatternOrBuilder(
        int index) {
      return pattern_.get(index);
    }

    public static final int MESSAGEMANIFEST_FIELD_NUMBER = 4;
    private akka.protobufv3.internal.ByteString messageManifest_;
    /**
     * <code>optional bytes messageManifest = 4;</code>
     * @return Whether the messageManifest field is set.
     */
    public boolean hasMessageManifest() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional bytes messageManifest = 4;</code>
     * @return The messageManifest.
     */
    public akka.protobufv3.internal.ByteString getMessageManifest() {
      return messageManifest_;
    }

    public static final int WILDCARDFANOUT_FIELD_NUMBER = 5;
    private boolean wildcardFanOut_;
    /**
     * <pre>
     * optional for pre 2.3.4 compatibility 
     * </pre>
     *
     * <code>optional bool wildcardFanOut = 5;</code>
     * @return Whether the wildcardFanOut field is set.
     */
    public boolean hasWildcardFanOut() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <pre>
     * optional for pre 2.3.4 compatibility 
     * </pre>
     *
     * <code>optional bool wildcardFanOut = 5;</code>
     * @return The wildcardFanOut.
     */
    public boolean getWildcardFanOut() {
      return wildcardFanOut_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      if (!hasEnclosedMessage()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasSerializerId()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getPatternCount(); i++) {
        if (!getPattern(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeBytes(1, enclosedMessage_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt32(2, serializerId_);
      }
      for (int i = 0; i < pattern_.size(); i++) {
        output.writeMessage(3, pattern_.get(i));
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeBytes(4, messageManifest_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeBool(5, wildcardFanOut_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeBytesSize(1, enclosedMessage_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeInt32Size(2, serializerId_);
      }
      for (int i = 0; i < pattern_.size(); i++) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(3, pattern_.get(i));
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeBytesSize(4, messageManifest_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeBoolSize(5, wildcardFanOut_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ContainerFormats.SelectionEnvelope)) {
        return super.equals(obj);
      }
      akka.remote.ContainerFormats.SelectionEnvelope other = (akka.remote.ContainerFormats.SelectionEnvelope) obj;

      if (hasEnclosedMessage() != other.hasEnclosedMessage()) return false;
      if (hasEnclosedMessage()) {
        if (!getEnclosedMessage()
            .equals(other.getEnclosedMessage())) return false;
      }
      if (hasSerializerId() != other.hasSerializerId()) return false;
      if (hasSerializerId()) {
        if (getSerializerId()
            != other.getSerializerId()) return false;
      }
      if (!getPatternList()
          .equals(other.getPatternList())) return false;
      if (hasMessageManifest() != other.hasMessageManifest()) return false;
      if (hasMessageManifest()) {
        if (!getMessageManifest()
            .equals(other.getMessageManifest())) return false;
      }
      if (hasWildcardFanOut() != other.hasWildcardFanOut()) return false;
      if (hasWildcardFanOut()) {
        if (getWildcardFanOut()
            != other.getWildcardFanOut()) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasEnclosedMessage()) {
        hash = (37 * hash) + ENCLOSEDMESSAGE_FIELD_NUMBER;
        hash = (53 * hash) + getEnclosedMessage().hashCode();
      }
      if (hasSerializerId()) {
        hash = (37 * hash) + SERIALIZERID_FIELD_NUMBER;
        hash = (53 * hash) + getSerializerId();
      }
      if (getPatternCount() > 0) {
        hash = (37 * hash) + PATTERN_FIELD_NUMBER;
        hash = (53 * hash) + getPatternList().hashCode();
      }
      if (hasMessageManifest()) {
        hash = (37 * hash) + MESSAGEMANIFEST_FIELD_NUMBER;
        hash = (53 * hash) + getMessageManifest().hashCode();
      }
      if (hasWildcardFanOut()) {
        hash = (37 * hash) + WILDCARDFANOUT_FIELD_NUMBER;
        hash = (53 * hash) + akka.protobufv3.internal.Internal.hashBoolean(
            getWildcardFanOut());
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ContainerFormats.SelectionEnvelope parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.SelectionEnvelope parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.SelectionEnvelope parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.SelectionEnvelope parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.SelectionEnvelope parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.SelectionEnvelope parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.SelectionEnvelope parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.SelectionEnvelope parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.SelectionEnvelope parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.SelectionEnvelope parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.SelectionEnvelope parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.SelectionEnvelope parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ContainerFormats.SelectionEnvelope prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code SelectionEnvelope}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:SelectionEnvelope)
        akka.remote.ContainerFormats.SelectionEnvelopeOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ContainerFormats.internal_static_SelectionEnvelope_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ContainerFormats.internal_static_SelectionEnvelope_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ContainerFormats.SelectionEnvelope.class, akka.remote.ContainerFormats.SelectionEnvelope.Builder.class);
      }

      // Construct using akka.remote.ContainerFormats.SelectionEnvelope.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getPatternFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        enclosedMessage_ = akka.protobufv3.internal.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        serializerId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        if (patternBuilder_ == null) {
          pattern_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          patternBuilder_.clear();
        }
        messageManifest_ = akka.protobufv3.internal.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000008);
        wildcardFanOut_ = false;
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ContainerFormats.internal_static_SelectionEnvelope_descriptor;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.SelectionEnvelope getDefaultInstanceForType() {
        return akka.remote.ContainerFormats.SelectionEnvelope.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.SelectionEnvelope build() {
        akka.remote.ContainerFormats.SelectionEnvelope result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.SelectionEnvelope buildPartial() {
        akka.remote.ContainerFormats.SelectionEnvelope result = new akka.remote.ContainerFormats.SelectionEnvelope(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.enclosedMessage_ = enclosedMessage_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.serializerId_ = serializerId_;
          to_bitField0_ |= 0x00000002;
        }
        if (patternBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0)) {
            pattern_ = java.util.Collections.unmodifiableList(pattern_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.pattern_ = pattern_;
        } else {
          result.pattern_ = patternBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          to_bitField0_ |= 0x00000004;
        }
        result.messageManifest_ = messageManifest_;
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.wildcardFanOut_ = wildcardFanOut_;
          to_bitField0_ |= 0x00000008;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ContainerFormats.SelectionEnvelope) {
          return mergeFrom((akka.remote.ContainerFormats.SelectionEnvelope)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ContainerFormats.SelectionEnvelope other) {
        if (other == akka.remote.ContainerFormats.SelectionEnvelope.getDefaultInstance()) return this;
        if (other.hasEnclosedMessage()) {
          setEnclosedMessage(other.getEnclosedMessage());
        }
        if (other.hasSerializerId()) {
          setSerializerId(other.getSerializerId());
        }
        if (patternBuilder_ == null) {
          if (!other.pattern_.isEmpty()) {
            if (pattern_.isEmpty()) {
              pattern_ = other.pattern_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensurePatternIsMutable();
              pattern_.addAll(other.pattern_);
            }
            onChanged();
          }
        } else {
          if (!other.pattern_.isEmpty()) {
            if (patternBuilder_.isEmpty()) {
              patternBuilder_.dispose();
              patternBuilder_ = null;
              pattern_ = other.pattern_;
              bitField0_ = (bitField0_ & ~0x00000004);
              patternBuilder_ = 
                akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getPatternFieldBuilder() : null;
            } else {
              patternBuilder_.addAllMessages(other.pattern_);
            }
          }
        }
        if (other.hasMessageManifest()) {
          setMessageManifest(other.getMessageManifest());
        }
        if (other.hasWildcardFanOut()) {
          setWildcardFanOut(other.getWildcardFanOut());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasEnclosedMessage()) {
          return false;
        }
        if (!hasSerializerId()) {
          return false;
        }
        for (int i = 0; i < getPatternCount(); i++) {
          if (!getPattern(i).isInitialized()) {
            return false;
          }
        }
        return true;
      }

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

      private akka.protobufv3.internal.ByteString enclosedMessage_ = akka.protobufv3.internal.ByteString.EMPTY;
      /**
       * <code>required bytes enclosedMessage = 1;</code>
       * @return Whether the enclosedMessage field is set.
       */
      public boolean hasEnclosedMessage() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required bytes enclosedMessage = 1;</code>
       * @return The enclosedMessage.
       */
      public akka.protobufv3.internal.ByteString getEnclosedMessage() {
        return enclosedMessage_;
      }
      /**
       * <code>required bytes enclosedMessage = 1;</code>
       * @param value The enclosedMessage to set.
       * @return This builder for chaining.
       */
      public Builder setEnclosedMessage(akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        enclosedMessage_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes enclosedMessage = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearEnclosedMessage() {
        bitField0_ = (bitField0_ & ~0x00000001);
        enclosedMessage_ = getDefaultInstance().getEnclosedMessage();
        onChanged();
        return this;
      }

      private int serializerId_ ;
      /**
       * <code>required int32 serializerId = 2;</code>
       * @return Whether the serializerId field is set.
       */
      public boolean hasSerializerId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required int32 serializerId = 2;</code>
       * @return The serializerId.
       */
      public int getSerializerId() {
        return serializerId_;
      }
      /**
       * <code>required int32 serializerId = 2;</code>
       * @param value The serializerId to set.
       * @return This builder for chaining.
       */
      public Builder setSerializerId(int value) {
        bitField0_ |= 0x00000002;
        serializerId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required int32 serializerId = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearSerializerId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        serializerId_ = 0;
        onChanged();
        return this;
      }

      private java.util.List<akka.remote.ContainerFormats.Selection> pattern_ =
        java.util.Collections.emptyList();
      private void ensurePatternIsMutable() {
        if (!((bitField0_ & 0x00000004) != 0)) {
          pattern_ = new java.util.ArrayList<akka.remote.ContainerFormats.Selection>(pattern_);
          bitField0_ |= 0x00000004;
         }
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.remote.ContainerFormats.Selection, akka.remote.ContainerFormats.Selection.Builder, akka.remote.ContainerFormats.SelectionOrBuilder> patternBuilder_;

      /**
       * <code>repeated .Selection pattern = 3;</code>
       */
      public java.util.List<akka.remote.ContainerFormats.Selection> getPatternList() {
        if (patternBuilder_ == null) {
          return java.util.Collections.unmodifiableList(pattern_);
        } else {
          return patternBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .Selection pattern = 3;</code>
       */
      public int getPatternCount() {
        if (patternBuilder_ == null) {
          return pattern_.size();
        } else {
          return patternBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .Selection pattern = 3;</code>
       */
      public akka.remote.ContainerFormats.Selection getPattern(int index) {
        if (patternBuilder_ == null) {
          return pattern_.get(index);
        } else {
          return patternBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .Selection pattern = 3;</code>
       */
      public Builder setPattern(
          int index, akka.remote.ContainerFormats.Selection value) {
        if (patternBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePatternIsMutable();
          pattern_.set(index, value);
          onChanged();
        } else {
          patternBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .Selection pattern = 3;</code>
       */
      public Builder setPattern(
          int index, akka.remote.ContainerFormats.Selection.Builder builderForValue) {
        if (patternBuilder_ == null) {
          ensurePatternIsMutable();
          pattern_.set(index, builderForValue.build());
          onChanged();
        } else {
          patternBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Selection pattern = 3;</code>
       */
      public Builder addPattern(akka.remote.ContainerFormats.Selection value) {
        if (patternBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePatternIsMutable();
          pattern_.add(value);
          onChanged();
        } else {
          patternBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .Selection pattern = 3;</code>
       */
      public Builder addPattern(
          int index, akka.remote.ContainerFormats.Selection value) {
        if (patternBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePatternIsMutable();
          pattern_.add(index, value);
          onChanged();
        } else {
          patternBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .Selection pattern = 3;</code>
       */
      public Builder addPattern(
          akka.remote.ContainerFormats.Selection.Builder builderForValue) {
        if (patternBuilder_ == null) {
          ensurePatternIsMutable();
          pattern_.add(builderForValue.build());
          onChanged();
        } else {
          patternBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Selection pattern = 3;</code>
       */
      public Builder addPattern(
          int index, akka.remote.ContainerFormats.Selection.Builder builderForValue) {
        if (patternBuilder_ == null) {
          ensurePatternIsMutable();
          pattern_.add(index, builderForValue.build());
          onChanged();
        } else {
          patternBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .Selection pattern = 3;</code>
       */
      public Builder addAllPattern(
          java.lang.Iterable<? extends akka.remote.ContainerFormats.Selection> values) {
        if (patternBuilder_ == null) {
          ensurePatternIsMutable();
          akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
              values, pattern_);
          onChanged();
        } else {
          patternBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .Selection pattern = 3;</code>
       */
      public Builder clearPattern() {
        if (patternBuilder_ == null) {
          pattern_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          patternBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .Selection pattern = 3;</code>
       */
      public Builder removePattern(int index) {
        if (patternBuilder_ == null) {
          ensurePatternIsMutable();
          pattern_.remove(index);
          onChanged();
        } else {
          patternBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .Selection pattern = 3;</code>
       */
      public akka.remote.ContainerFormats.Selection.Builder getPatternBuilder(
          int index) {
        return getPatternFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .Selection pattern = 3;</code>
       */
      public akka.remote.ContainerFormats.SelectionOrBuilder getPatternOrBuilder(
          int index) {
        if (patternBuilder_ == null) {
          return pattern_.get(index);  } else {
          return patternBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .Selection pattern = 3;</code>
       */
      public java.util.List<? extends akka.remote.ContainerFormats.SelectionOrBuilder> 
           getPatternOrBuilderList() {
        if (patternBuilder_ != null) {
          return patternBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(pattern_);
        }
      }
      /**
       * <code>repeated .Selection pattern = 3;</code>
       */
      public akka.remote.ContainerFormats.Selection.Builder addPatternBuilder() {
        return getPatternFieldBuilder().addBuilder(
            akka.remote.ContainerFormats.Selection.getDefaultInstance());
      }
      /**
       * <code>repeated .Selection pattern = 3;</code>
       */
      public akka.remote.ContainerFormats.Selection.Builder addPatternBuilder(
          int index) {
        return getPatternFieldBuilder().addBuilder(
            index, akka.remote.ContainerFormats.Selection.getDefaultInstance());
      }
      /**
       * <code>repeated .Selection pattern = 3;</code>
       */
      public java.util.List<akka.remote.ContainerFormats.Selection.Builder> 
           getPatternBuilderList() {
        return getPatternFieldBuilder().getBuilderList();
      }
      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.remote.ContainerFormats.Selection, akka.remote.ContainerFormats.Selection.Builder, akka.remote.ContainerFormats.SelectionOrBuilder> 
          getPatternFieldBuilder() {
        if (patternBuilder_ == null) {
          patternBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.remote.ContainerFormats.Selection, akka.remote.ContainerFormats.Selection.Builder, akka.remote.ContainerFormats.SelectionOrBuilder>(
                  pattern_,
                  ((bitField0_ & 0x00000004) != 0),
                  getParentForChildren(),
                  isClean());
          pattern_ = null;
        }
        return patternBuilder_;
      }

      private akka.protobufv3.internal.ByteString messageManifest_ = akka.protobufv3.internal.ByteString.EMPTY;
      /**
       * <code>optional bytes messageManifest = 4;</code>
       * @return Whether the messageManifest field is set.
       */
      public boolean hasMessageManifest() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>optional bytes messageManifest = 4;</code>
       * @return The messageManifest.
       */
      public akka.protobufv3.internal.ByteString getMessageManifest() {
        return messageManifest_;
      }
      /**
       * <code>optional bytes messageManifest = 4;</code>
       * @param value The messageManifest to set.
       * @return This builder for chaining.
       */
      public Builder setMessageManifest(akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        messageManifest_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes messageManifest = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearMessageManifest() {
        bitField0_ = (bitField0_ & ~0x00000008);
        messageManifest_ = getDefaultInstance().getMessageManifest();
        onChanged();
        return this;
      }

      private boolean wildcardFanOut_ ;
      /**
       * <pre>
       * optional for pre 2.3.4 compatibility 
       * </pre>
       *
       * <code>optional bool wildcardFanOut = 5;</code>
       * @return Whether the wildcardFanOut field is set.
       */
      public boolean hasWildcardFanOut() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <pre>
       * optional for pre 2.3.4 compatibility 
       * </pre>
       *
       * <code>optional bool wildcardFanOut = 5;</code>
       * @return The wildcardFanOut.
       */
      public boolean getWildcardFanOut() {
        return wildcardFanOut_;
      }
      /**
       * <pre>
       * optional for pre 2.3.4 compatibility 
       * </pre>
       *
       * <code>optional bool wildcardFanOut = 5;</code>
       * @param value The wildcardFanOut to set.
       * @return This builder for chaining.
       */
      public Builder setWildcardFanOut(boolean value) {
        bitField0_ |= 0x00000010;
        wildcardFanOut_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * optional for pre 2.3.4 compatibility 
       * </pre>
       *
       * <code>optional bool wildcardFanOut = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearWildcardFanOut() {
        bitField0_ = (bitField0_ & ~0x00000010);
        wildcardFanOut_ = false;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:SelectionEnvelope)
    }

    // @@protoc_insertion_point(class_scope:SelectionEnvelope)
    private static final akka.remote.ContainerFormats.SelectionEnvelope DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ContainerFormats.SelectionEnvelope();
    }

    public static akka.remote.ContainerFormats.SelectionEnvelope getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.remote.ContainerFormats.SelectionEnvelope getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SelectionOrBuilder extends
      // @@protoc_insertion_point(interface_extends:Selection)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required .PatternType type = 1;</code>
     * @return Whether the type field is set.
     */
    boolean hasType();
    /**
     * <code>required .PatternType type = 1;</code>
     * @return The type.
     */
    akka.remote.ContainerFormats.PatternType getType();

    /**
     * <code>optional string matcher = 2;</code>
     * @return Whether the matcher field is set.
     */
    boolean hasMatcher();
    /**
     * <code>optional string matcher = 2;</code>
     * @return The matcher.
     */
    java.lang.String getMatcher();
    /**
     * <code>optional string matcher = 2;</code>
     * @return The bytes for matcher.
     */
    akka.protobufv3.internal.ByteString
        getMatcherBytes();
  }
  /**
   * Protobuf type {@code Selection}
   */
  public  static final class Selection extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:Selection)
      SelectionOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Selection.newBuilder() to construct.
    private Selection(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Selection() {
      type_ = 0;
      matcher_ = "";
    }

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

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Selection(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {
              int rawValue = input.readEnum();
                @SuppressWarnings("deprecation")
              akka.remote.ContainerFormats.PatternType value = akka.remote.ContainerFormats.PatternType.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(1, rawValue);
              } else {
                bitField0_ |= 0x00000001;
                type_ = rawValue;
              }
              break;
            }
            case 18: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              matcher_ = bs;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.ContainerFormats.internal_static_Selection_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ContainerFormats.internal_static_Selection_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ContainerFormats.Selection.class, akka.remote.ContainerFormats.Selection.Builder.class);
    }

    private int bitField0_;
    public static final int TYPE_FIELD_NUMBER = 1;
    private int type_;
    /**
     * <code>required .PatternType type = 1;</code>
     * @return Whether the type field is set.
     */
    public boolean hasType() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .PatternType type = 1;</code>
     * @return The type.
     */
    public akka.remote.ContainerFormats.PatternType getType() {
      @SuppressWarnings("deprecation")
      akka.remote.ContainerFormats.PatternType result = akka.remote.ContainerFormats.PatternType.valueOf(type_);
      return result == null ? akka.remote.ContainerFormats.PatternType.PARENT : result;
    }

    public static final int MATCHER_FIELD_NUMBER = 2;
    private volatile java.lang.Object matcher_;
    /**
     * <code>optional string matcher = 2;</code>
     * @return Whether the matcher field is set.
     */
    public boolean hasMatcher() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional string matcher = 2;</code>
     * @return The matcher.
     */
    public java.lang.String getMatcher() {
      java.lang.Object ref = matcher_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        akka.protobufv3.internal.ByteString bs = 
            (akka.protobufv3.internal.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          matcher_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string matcher = 2;</code>
     * @return The bytes for matcher.
     */
    public akka.protobufv3.internal.ByteString
        getMatcherBytes() {
      java.lang.Object ref = matcher_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        matcher_ = b;
        return b;
      } else {
        return (akka.protobufv3.internal.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

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

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeEnum(1, type_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 2, matcher_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeEnumSize(1, type_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(2, matcher_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ContainerFormats.Selection)) {
        return super.equals(obj);
      }
      akka.remote.ContainerFormats.Selection other = (akka.remote.ContainerFormats.Selection) obj;

      if (hasType() != other.hasType()) return false;
      if (hasType()) {
        if (type_ != other.type_) return false;
      }
      if (hasMatcher() != other.hasMatcher()) return false;
      if (hasMatcher()) {
        if (!getMatcher()
            .equals(other.getMatcher())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasType()) {
        hash = (37 * hash) + TYPE_FIELD_NUMBER;
        hash = (53 * hash) + type_;
      }
      if (hasMatcher()) {
        hash = (37 * hash) + MATCHER_FIELD_NUMBER;
        hash = (53 * hash) + getMatcher().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ContainerFormats.Selection parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.Selection parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Selection parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.Selection parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Selection parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.Selection parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Selection parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.Selection parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Selection parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.Selection parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Selection parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.Selection parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ContainerFormats.Selection prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code Selection}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:Selection)
        akka.remote.ContainerFormats.SelectionOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ContainerFormats.internal_static_Selection_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ContainerFormats.internal_static_Selection_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ContainerFormats.Selection.class, akka.remote.ContainerFormats.Selection.Builder.class);
      }

      // Construct using akka.remote.ContainerFormats.Selection.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ContainerFormats.internal_static_Selection_descriptor;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.Selection getDefaultInstanceForType() {
        return akka.remote.ContainerFormats.Selection.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.Selection build() {
        akka.remote.ContainerFormats.Selection result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.Selection buildPartial() {
        akka.remote.ContainerFormats.Selection result = new akka.remote.ContainerFormats.Selection(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.type_ = type_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          to_bitField0_ |= 0x00000002;
        }
        result.matcher_ = matcher_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ContainerFormats.Selection) {
          return mergeFrom((akka.remote.ContainerFormats.Selection)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ContainerFormats.Selection other) {
        if (other == akka.remote.ContainerFormats.Selection.getDefaultInstance()) return this;
        if (other.hasType()) {
          setType(other.getType());
        }
        if (other.hasMatcher()) {
          bitField0_ |= 0x00000002;
          matcher_ = other.matcher_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private int type_ = 0;
      /**
       * <code>required .PatternType type = 1;</code>
       * @return Whether the type field is set.
       */
      public boolean hasType() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .PatternType type = 1;</code>
       * @return The type.
       */
      public akka.remote.ContainerFormats.PatternType getType() {
        @SuppressWarnings("deprecation")
        akka.remote.ContainerFormats.PatternType result = akka.remote.ContainerFormats.PatternType.valueOf(type_);
        return result == null ? akka.remote.ContainerFormats.PatternType.PARENT : result;
      }
      /**
       * <code>required .PatternType type = 1;</code>
       * @param value The type to set.
       * @return This builder for chaining.
       */
      public Builder setType(akka.remote.ContainerFormats.PatternType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        type_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>required .PatternType type = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearType() {
        bitField0_ = (bitField0_ & ~0x00000001);
        type_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object matcher_ = "";
      /**
       * <code>optional string matcher = 2;</code>
       * @return Whether the matcher field is set.
       */
      public boolean hasMatcher() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional string matcher = 2;</code>
       * @return The matcher.
       */
      public java.lang.String getMatcher() {
        java.lang.Object ref = matcher_;
        if (!(ref instanceof java.lang.String)) {
          akka.protobufv3.internal.ByteString bs =
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            matcher_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string matcher = 2;</code>
       * @return The bytes for matcher.
       */
      public akka.protobufv3.internal.ByteString
          getMatcherBytes() {
        java.lang.Object ref = matcher_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          matcher_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>optional string matcher = 2;</code>
       * @param value The matcher to set.
       * @return This builder for chaining.
       */
      public Builder setMatcher(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        matcher_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string matcher = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearMatcher() {
        bitField0_ = (bitField0_ & ~0x00000002);
        matcher_ = getDefaultInstance().getMatcher();
        onChanged();
        return this;
      }
      /**
       * <code>optional string matcher = 2;</code>
       * @param value The bytes for matcher to set.
       * @return This builder for chaining.
       */
      public Builder setMatcherBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        matcher_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:Selection)
    }

    // @@protoc_insertion_point(class_scope:Selection)
    private static final akka.remote.ContainerFormats.Selection DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ContainerFormats.Selection();
    }

    public static akka.remote.ContainerFormats.Selection getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.remote.ContainerFormats.Selection getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface IdentifyOrBuilder extends
      // @@protoc_insertion_point(interface_extends:Identify)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required .Payload messageId = 1;</code>
     * @return Whether the messageId field is set.
     */
    boolean hasMessageId();
    /**
     * <code>required .Payload messageId = 1;</code>
     * @return The messageId.
     */
    akka.remote.ContainerFormats.Payload getMessageId();
    /**
     * <code>required .Payload messageId = 1;</code>
     */
    akka.remote.ContainerFormats.PayloadOrBuilder getMessageIdOrBuilder();
  }
  /**
   * Protobuf type {@code Identify}
   */
  public  static final class Identify extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:Identify)
      IdentifyOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Identify.newBuilder() to construct.
    private Identify(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Identify() {
    }

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

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

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ContainerFormats.internal_static_Identify_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ContainerFormats.Identify.class, akka.remote.ContainerFormats.Identify.Builder.class);
    }

    private int bitField0_;
    public static final int MESSAGEID_FIELD_NUMBER = 1;
    private akka.remote.ContainerFormats.Payload messageId_;
    /**
     * <code>required .Payload messageId = 1;</code>
     * @return Whether the messageId field is set.
     */
    public boolean hasMessageId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .Payload messageId = 1;</code>
     * @return The messageId.
     */
    public akka.remote.ContainerFormats.Payload getMessageId() {
      return messageId_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : messageId_;
    }
    /**
     * <code>required .Payload messageId = 1;</code>
     */
    public akka.remote.ContainerFormats.PayloadOrBuilder getMessageIdOrBuilder() {
      return messageId_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : messageId_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      if (!hasMessageId()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getMessageId().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getMessageId());
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(1, getMessageId());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ContainerFormats.Identify)) {
        return super.equals(obj);
      }
      akka.remote.ContainerFormats.Identify other = (akka.remote.ContainerFormats.Identify) obj;

      if (hasMessageId() != other.hasMessageId()) return false;
      if (hasMessageId()) {
        if (!getMessageId()
            .equals(other.getMessageId())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasMessageId()) {
        hash = (37 * hash) + MESSAGEID_FIELD_NUMBER;
        hash = (53 * hash) + getMessageId().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ContainerFormats.Identify parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.Identify parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Identify parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.Identify parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Identify parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.Identify parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Identify parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.Identify parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Identify parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.Identify parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Identify parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.Identify parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ContainerFormats.Identify prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code Identify}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:Identify)
        akka.remote.ContainerFormats.IdentifyOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ContainerFormats.internal_static_Identify_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ContainerFormats.internal_static_Identify_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ContainerFormats.Identify.class, akka.remote.ContainerFormats.Identify.Builder.class);
      }

      // Construct using akka.remote.ContainerFormats.Identify.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ContainerFormats.internal_static_Identify_descriptor;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.Identify getDefaultInstanceForType() {
        return akka.remote.ContainerFormats.Identify.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.Identify build() {
        akka.remote.ContainerFormats.Identify result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.Identify buildPartial() {
        akka.remote.ContainerFormats.Identify result = new akka.remote.ContainerFormats.Identify(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (messageIdBuilder_ == null) {
            result.messageId_ = messageId_;
          } else {
            result.messageId_ = messageIdBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ContainerFormats.Identify) {
          return mergeFrom((akka.remote.ContainerFormats.Identify)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ContainerFormats.Identify other) {
        if (other == akka.remote.ContainerFormats.Identify.getDefaultInstance()) return this;
        if (other.hasMessageId()) {
          mergeMessageId(other.getMessageId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private akka.remote.ContainerFormats.Payload messageId_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder> messageIdBuilder_;
      /**
       * <code>required .Payload messageId = 1;</code>
       * @return Whether the messageId field is set.
       */
      public boolean hasMessageId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .Payload messageId = 1;</code>
       * @return The messageId.
       */
      public akka.remote.ContainerFormats.Payload getMessageId() {
        if (messageIdBuilder_ == null) {
          return messageId_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : messageId_;
        } else {
          return messageIdBuilder_.getMessage();
        }
      }
      /**
       * <code>required .Payload messageId = 1;</code>
       */
      public Builder setMessageId(akka.remote.ContainerFormats.Payload value) {
        if (messageIdBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          messageId_ = value;
          onChanged();
        } else {
          messageIdBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .Payload messageId = 1;</code>
       */
      public Builder setMessageId(
          akka.remote.ContainerFormats.Payload.Builder builderForValue) {
        if (messageIdBuilder_ == null) {
          messageId_ = builderForValue.build();
          onChanged();
        } else {
          messageIdBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .Payload messageId = 1;</code>
       */
      public Builder mergeMessageId(akka.remote.ContainerFormats.Payload value) {
        if (messageIdBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              messageId_ != null &&
              messageId_ != akka.remote.ContainerFormats.Payload.getDefaultInstance()) {
            messageId_ =
              akka.remote.ContainerFormats.Payload.newBuilder(messageId_).mergeFrom(value).buildPartial();
          } else {
            messageId_ = value;
          }
          onChanged();
        } else {
          messageIdBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .Payload messageId = 1;</code>
       */
      public Builder clearMessageId() {
        if (messageIdBuilder_ == null) {
          messageId_ = null;
          onChanged();
        } else {
          messageIdBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>required .Payload messageId = 1;</code>
       */
      public akka.remote.ContainerFormats.Payload.Builder getMessageIdBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getMessageIdFieldBuilder().getBuilder();
      }
      /**
       * <code>required .Payload messageId = 1;</code>
       */
      public akka.remote.ContainerFormats.PayloadOrBuilder getMessageIdOrBuilder() {
        if (messageIdBuilder_ != null) {
          return messageIdBuilder_.getMessageOrBuilder();
        } else {
          return messageId_ == null ?
              akka.remote.ContainerFormats.Payload.getDefaultInstance() : messageId_;
        }
      }
      /**
       * <code>required .Payload messageId = 1;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder> 
          getMessageIdFieldBuilder() {
        if (messageIdBuilder_ == null) {
          messageIdBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder>(
                  getMessageId(),
                  getParentForChildren(),
                  isClean());
          messageId_ = null;
        }
        return messageIdBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:Identify)
    }

    // @@protoc_insertion_point(class_scope:Identify)
    private static final akka.remote.ContainerFormats.Identify DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ContainerFormats.Identify();
    }

    public static akka.remote.ContainerFormats.Identify getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.remote.ContainerFormats.Identify getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ActorIdentityOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ActorIdentity)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required .Payload correlationId = 1;</code>
     * @return Whether the correlationId field is set.
     */
    boolean hasCorrelationId();
    /**
     * <code>required .Payload correlationId = 1;</code>
     * @return The correlationId.
     */
    akka.remote.ContainerFormats.Payload getCorrelationId();
    /**
     * <code>required .Payload correlationId = 1;</code>
     */
    akka.remote.ContainerFormats.PayloadOrBuilder getCorrelationIdOrBuilder();

    /**
     * <code>optional .ActorRef ref = 2;</code>
     * @return Whether the ref field is set.
     */
    boolean hasRef();
    /**
     * <code>optional .ActorRef ref = 2;</code>
     * @return The ref.
     */
    akka.remote.ContainerFormats.ActorRef getRef();
    /**
     * <code>optional .ActorRef ref = 2;</code>
     */
    akka.remote.ContainerFormats.ActorRefOrBuilder getRefOrBuilder();
  }
  /**
   * Protobuf type {@code ActorIdentity}
   */
  public  static final class ActorIdentity extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:ActorIdentity)
      ActorIdentityOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ActorIdentity.newBuilder() to construct.
    private ActorIdentity(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ActorIdentity() {
    }

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

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

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ContainerFormats.internal_static_ActorIdentity_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ContainerFormats.ActorIdentity.class, akka.remote.ContainerFormats.ActorIdentity.Builder.class);
    }

    private int bitField0_;
    public static final int CORRELATIONID_FIELD_NUMBER = 1;
    private akka.remote.ContainerFormats.Payload correlationId_;
    /**
     * <code>required .Payload correlationId = 1;</code>
     * @return Whether the correlationId field is set.
     */
    public boolean hasCorrelationId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .Payload correlationId = 1;</code>
     * @return The correlationId.
     */
    public akka.remote.ContainerFormats.Payload getCorrelationId() {
      return correlationId_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : correlationId_;
    }
    /**
     * <code>required .Payload correlationId = 1;</code>
     */
    public akka.remote.ContainerFormats.PayloadOrBuilder getCorrelationIdOrBuilder() {
      return correlationId_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : correlationId_;
    }

    public static final int REF_FIELD_NUMBER = 2;
    private akka.remote.ContainerFormats.ActorRef ref_;
    /**
     * <code>optional .ActorRef ref = 2;</code>
     * @return Whether the ref field is set.
     */
    public boolean hasRef() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional .ActorRef ref = 2;</code>
     * @return The ref.
     */
    public akka.remote.ContainerFormats.ActorRef getRef() {
      return ref_ == null ? akka.remote.ContainerFormats.ActorRef.getDefaultInstance() : ref_;
    }
    /**
     * <code>optional .ActorRef ref = 2;</code>
     */
    public akka.remote.ContainerFormats.ActorRefOrBuilder getRefOrBuilder() {
      return ref_ == null ? akka.remote.ContainerFormats.ActorRef.getDefaultInstance() : ref_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      if (!hasCorrelationId()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getCorrelationId().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (hasRef()) {
        if (!getRef().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getCorrelationId());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(2, getRef());
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(1, getCorrelationId());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(2, getRef());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ContainerFormats.ActorIdentity)) {
        return super.equals(obj);
      }
      akka.remote.ContainerFormats.ActorIdentity other = (akka.remote.ContainerFormats.ActorIdentity) obj;

      if (hasCorrelationId() != other.hasCorrelationId()) return false;
      if (hasCorrelationId()) {
        if (!getCorrelationId()
            .equals(other.getCorrelationId())) return false;
      }
      if (hasRef() != other.hasRef()) return false;
      if (hasRef()) {
        if (!getRef()
            .equals(other.getRef())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasCorrelationId()) {
        hash = (37 * hash) + CORRELATIONID_FIELD_NUMBER;
        hash = (53 * hash) + getCorrelationId().hashCode();
      }
      if (hasRef()) {
        hash = (37 * hash) + REF_FIELD_NUMBER;
        hash = (53 * hash) + getRef().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ContainerFormats.ActorIdentity parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.ActorIdentity parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.ActorIdentity parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.ActorIdentity parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.ActorIdentity parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.ActorIdentity parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.ActorIdentity parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.ActorIdentity parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.ActorIdentity parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.ActorIdentity parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.ActorIdentity parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.ActorIdentity parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ContainerFormats.ActorIdentity prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code ActorIdentity}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:ActorIdentity)
        akka.remote.ContainerFormats.ActorIdentityOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ContainerFormats.internal_static_ActorIdentity_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ContainerFormats.internal_static_ActorIdentity_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ContainerFormats.ActorIdentity.class, akka.remote.ContainerFormats.ActorIdentity.Builder.class);
      }

      // Construct using akka.remote.ContainerFormats.ActorIdentity.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getCorrelationIdFieldBuilder();
          getRefFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (correlationIdBuilder_ == null) {
          correlationId_ = null;
        } else {
          correlationIdBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (refBuilder_ == null) {
          ref_ = null;
        } else {
          refBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ContainerFormats.internal_static_ActorIdentity_descriptor;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.ActorIdentity getDefaultInstanceForType() {
        return akka.remote.ContainerFormats.ActorIdentity.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.ActorIdentity build() {
        akka.remote.ContainerFormats.ActorIdentity result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.ActorIdentity buildPartial() {
        akka.remote.ContainerFormats.ActorIdentity result = new akka.remote.ContainerFormats.ActorIdentity(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (correlationIdBuilder_ == null) {
            result.correlationId_ = correlationId_;
          } else {
            result.correlationId_ = correlationIdBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          if (refBuilder_ == null) {
            result.ref_ = ref_;
          } else {
            result.ref_ = refBuilder_.build();
          }
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ContainerFormats.ActorIdentity) {
          return mergeFrom((akka.remote.ContainerFormats.ActorIdentity)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ContainerFormats.ActorIdentity other) {
        if (other == akka.remote.ContainerFormats.ActorIdentity.getDefaultInstance()) return this;
        if (other.hasCorrelationId()) {
          mergeCorrelationId(other.getCorrelationId());
        }
        if (other.hasRef()) {
          mergeRef(other.getRef());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasCorrelationId()) {
          return false;
        }
        if (!getCorrelationId().isInitialized()) {
          return false;
        }
        if (hasRef()) {
          if (!getRef().isInitialized()) {
            return false;
          }
        }
        return true;
      }

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

      private akka.remote.ContainerFormats.Payload correlationId_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder> correlationIdBuilder_;
      /**
       * <code>required .Payload correlationId = 1;</code>
       * @return Whether the correlationId field is set.
       */
      public boolean hasCorrelationId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .Payload correlationId = 1;</code>
       * @return The correlationId.
       */
      public akka.remote.ContainerFormats.Payload getCorrelationId() {
        if (correlationIdBuilder_ == null) {
          return correlationId_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : correlationId_;
        } else {
          return correlationIdBuilder_.getMessage();
        }
      }
      /**
       * <code>required .Payload correlationId = 1;</code>
       */
      public Builder setCorrelationId(akka.remote.ContainerFormats.Payload value) {
        if (correlationIdBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          correlationId_ = value;
          onChanged();
        } else {
          correlationIdBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .Payload correlationId = 1;</code>
       */
      public Builder setCorrelationId(
          akka.remote.ContainerFormats.Payload.Builder builderForValue) {
        if (correlationIdBuilder_ == null) {
          correlationId_ = builderForValue.build();
          onChanged();
        } else {
          correlationIdBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .Payload correlationId = 1;</code>
       */
      public Builder mergeCorrelationId(akka.remote.ContainerFormats.Payload value) {
        if (correlationIdBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              correlationId_ != null &&
              correlationId_ != akka.remote.ContainerFormats.Payload.getDefaultInstance()) {
            correlationId_ =
              akka.remote.ContainerFormats.Payload.newBuilder(correlationId_).mergeFrom(value).buildPartial();
          } else {
            correlationId_ = value;
          }
          onChanged();
        } else {
          correlationIdBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .Payload correlationId = 1;</code>
       */
      public Builder clearCorrelationId() {
        if (correlationIdBuilder_ == null) {
          correlationId_ = null;
          onChanged();
        } else {
          correlationIdBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>required .Payload correlationId = 1;</code>
       */
      public akka.remote.ContainerFormats.Payload.Builder getCorrelationIdBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getCorrelationIdFieldBuilder().getBuilder();
      }
      /**
       * <code>required .Payload correlationId = 1;</code>
       */
      public akka.remote.ContainerFormats.PayloadOrBuilder getCorrelationIdOrBuilder() {
        if (correlationIdBuilder_ != null) {
          return correlationIdBuilder_.getMessageOrBuilder();
        } else {
          return correlationId_ == null ?
              akka.remote.ContainerFormats.Payload.getDefaultInstance() : correlationId_;
        }
      }
      /**
       * <code>required .Payload correlationId = 1;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder> 
          getCorrelationIdFieldBuilder() {
        if (correlationIdBuilder_ == null) {
          correlationIdBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder>(
                  getCorrelationId(),
                  getParentForChildren(),
                  isClean());
          correlationId_ = null;
        }
        return correlationIdBuilder_;
      }

      private akka.remote.ContainerFormats.ActorRef ref_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ContainerFormats.ActorRef, akka.remote.ContainerFormats.ActorRef.Builder, akka.remote.ContainerFormats.ActorRefOrBuilder> refBuilder_;
      /**
       * <code>optional .ActorRef ref = 2;</code>
       * @return Whether the ref field is set.
       */
      public boolean hasRef() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional .ActorRef ref = 2;</code>
       * @return The ref.
       */
      public akka.remote.ContainerFormats.ActorRef getRef() {
        if (refBuilder_ == null) {
          return ref_ == null ? akka.remote.ContainerFormats.ActorRef.getDefaultInstance() : ref_;
        } else {
          return refBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .ActorRef ref = 2;</code>
       */
      public Builder setRef(akka.remote.ContainerFormats.ActorRef value) {
        if (refBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ref_ = value;
          onChanged();
        } else {
          refBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .ActorRef ref = 2;</code>
       */
      public Builder setRef(
          akka.remote.ContainerFormats.ActorRef.Builder builderForValue) {
        if (refBuilder_ == null) {
          ref_ = builderForValue.build();
          onChanged();
        } else {
          refBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .ActorRef ref = 2;</code>
       */
      public Builder mergeRef(akka.remote.ContainerFormats.ActorRef value) {
        if (refBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
              ref_ != null &&
              ref_ != akka.remote.ContainerFormats.ActorRef.getDefaultInstance()) {
            ref_ =
              akka.remote.ContainerFormats.ActorRef.newBuilder(ref_).mergeFrom(value).buildPartial();
          } else {
            ref_ = value;
          }
          onChanged();
        } else {
          refBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .ActorRef ref = 2;</code>
       */
      public Builder clearRef() {
        if (refBuilder_ == null) {
          ref_ = null;
          onChanged();
        } else {
          refBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>optional .ActorRef ref = 2;</code>
       */
      public akka.remote.ContainerFormats.ActorRef.Builder getRefBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getRefFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .ActorRef ref = 2;</code>
       */
      public akka.remote.ContainerFormats.ActorRefOrBuilder getRefOrBuilder() {
        if (refBuilder_ != null) {
          return refBuilder_.getMessageOrBuilder();
        } else {
          return ref_ == null ?
              akka.remote.ContainerFormats.ActorRef.getDefaultInstance() : ref_;
        }
      }
      /**
       * <code>optional .ActorRef ref = 2;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ContainerFormats.ActorRef, akka.remote.ContainerFormats.ActorRef.Builder, akka.remote.ContainerFormats.ActorRefOrBuilder> 
          getRefFieldBuilder() {
        if (refBuilder_ == null) {
          refBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.remote.ContainerFormats.ActorRef, akka.remote.ContainerFormats.ActorRef.Builder, akka.remote.ContainerFormats.ActorRefOrBuilder>(
                  getRef(),
                  getParentForChildren(),
                  isClean());
          ref_ = null;
        }
        return refBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:ActorIdentity)
    }

    // @@protoc_insertion_point(class_scope:ActorIdentity)
    private static final akka.remote.ContainerFormats.ActorIdentity DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ContainerFormats.ActorIdentity();
    }

    public static akka.remote.ContainerFormats.ActorIdentity getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.remote.ContainerFormats.ActorIdentity getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ActorRefOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ActorRef)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required string path = 1;</code>
     * @return Whether the path field is set.
     */
    boolean hasPath();
    /**
     * <code>required string path = 1;</code>
     * @return The path.
     */
    java.lang.String getPath();
    /**
     * <code>required string path = 1;</code>
     * @return The bytes for path.
     */
    akka.protobufv3.internal.ByteString
        getPathBytes();
  }
  /**
   * Protobuf type {@code ActorRef}
   */
  public  static final class ActorRef extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:ActorRef)
      ActorRefOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ActorRef.newBuilder() to construct.
    private ActorRef(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ActorRef() {
      path_ = "";
    }

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

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ActorRef(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              path_ = bs;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.ContainerFormats.internal_static_ActorRef_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ContainerFormats.internal_static_ActorRef_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ContainerFormats.ActorRef.class, akka.remote.ContainerFormats.ActorRef.Builder.class);
    }

    private int bitField0_;
    public static final int PATH_FIELD_NUMBER = 1;
    private volatile java.lang.Object path_;
    /**
     * <code>required string path = 1;</code>
     * @return Whether the path field is set.
     */
    public boolean hasPath() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string path = 1;</code>
     * @return The path.
     */
    public java.lang.String getPath() {
      java.lang.Object ref = path_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        akka.protobufv3.internal.ByteString bs = 
            (akka.protobufv3.internal.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          path_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string path = 1;</code>
     * @return The bytes for path.
     */
    public akka.protobufv3.internal.ByteString
        getPathBytes() {
      java.lang.Object ref = path_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        path_ = b;
        return b;
      } else {
        return (akka.protobufv3.internal.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

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

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 1, path_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(1, path_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ContainerFormats.ActorRef)) {
        return super.equals(obj);
      }
      akka.remote.ContainerFormats.ActorRef other = (akka.remote.ContainerFormats.ActorRef) obj;

      if (hasPath() != other.hasPath()) return false;
      if (hasPath()) {
        if (!getPath()
            .equals(other.getPath())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasPath()) {
        hash = (37 * hash) + PATH_FIELD_NUMBER;
        hash = (53 * hash) + getPath().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ContainerFormats.ActorRef parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.ActorRef parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.ActorRef parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.ActorRef parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.ActorRef parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.ActorRef parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.ActorRef parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.ActorRef parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.ActorRef parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.ActorRef parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.ActorRef parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.ActorRef parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ContainerFormats.ActorRef prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code ActorRef}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:ActorRef)
        akka.remote.ContainerFormats.ActorRefOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ContainerFormats.internal_static_ActorRef_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ContainerFormats.internal_static_ActorRef_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ContainerFormats.ActorRef.class, akka.remote.ContainerFormats.ActorRef.Builder.class);
      }

      // Construct using akka.remote.ContainerFormats.ActorRef.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ContainerFormats.internal_static_ActorRef_descriptor;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.ActorRef getDefaultInstanceForType() {
        return akka.remote.ContainerFormats.ActorRef.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.ActorRef build() {
        akka.remote.ContainerFormats.ActorRef result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.ActorRef buildPartial() {
        akka.remote.ContainerFormats.ActorRef result = new akka.remote.ContainerFormats.ActorRef(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.path_ = path_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ContainerFormats.ActorRef) {
          return mergeFrom((akka.remote.ContainerFormats.ActorRef)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

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

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

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

      private java.lang.Object path_ = "";
      /**
       * <code>required string path = 1;</code>
       * @return Whether the path field is set.
       */
      public boolean hasPath() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string path = 1;</code>
       * @return The path.
       */
      public java.lang.String getPath() {
        java.lang.Object ref = path_;
        if (!(ref instanceof java.lang.String)) {
          akka.protobufv3.internal.ByteString bs =
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            path_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string path = 1;</code>
       * @return The bytes for path.
       */
      public akka.protobufv3.internal.ByteString
          getPathBytes() {
        java.lang.Object ref = path_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          path_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string path = 1;</code>
       * @param value The path to set.
       * @return This builder for chaining.
       */
      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>
       * @return This builder for chaining.
       */
      public Builder clearPath() {
        bitField0_ = (bitField0_ & ~0x00000001);
        path_ = getDefaultInstance().getPath();
        onChanged();
        return this;
      }
      /**
       * <code>required string path = 1;</code>
       * @param value The bytes for path to set.
       * @return This builder for chaining.
       */
      public Builder setPathBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        path_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:ActorRef)
    }

    // @@protoc_insertion_point(class_scope:ActorRef)
    private static final akka.remote.ContainerFormats.ActorRef DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ContainerFormats.ActorRef();
    }

    public static akka.remote.ContainerFormats.ActorRef getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.remote.ContainerFormats.ActorRef getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface OptionOrBuilder extends
      // @@protoc_insertion_point(interface_extends:Option)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>optional .Payload value = 1;</code>
     * @return Whether the value field is set.
     */
    boolean hasValue();
    /**
     * <code>optional .Payload value = 1;</code>
     * @return The value.
     */
    akka.remote.ContainerFormats.Payload getValue();
    /**
     * <code>optional .Payload value = 1;</code>
     */
    akka.remote.ContainerFormats.PayloadOrBuilder getValueOrBuilder();
  }
  /**
   * Protobuf type {@code Option}
   */
  public  static final class Option extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:Option)
      OptionOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Option.newBuilder() to construct.
    private Option(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Option() {
    }

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

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

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ContainerFormats.internal_static_Option_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ContainerFormats.Option.class, akka.remote.ContainerFormats.Option.Builder.class);
    }

    private int bitField0_;
    public static final int VALUE_FIELD_NUMBER = 1;
    private akka.remote.ContainerFormats.Payload value_;
    /**
     * <code>optional .Payload value = 1;</code>
     * @return Whether the value field is set.
     */
    public boolean hasValue() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional .Payload value = 1;</code>
     * @return The value.
     */
    public akka.remote.ContainerFormats.Payload getValue() {
      return value_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : value_;
    }
    /**
     * <code>optional .Payload value = 1;</code>
     */
    public akka.remote.ContainerFormats.PayloadOrBuilder getValueOrBuilder() {
      return value_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : value_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

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

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getValue());
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(1, getValue());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ContainerFormats.Option)) {
        return super.equals(obj);
      }
      akka.remote.ContainerFormats.Option other = (akka.remote.ContainerFormats.Option) obj;

      if (hasValue() != other.hasValue()) return false;
      if (hasValue()) {
        if (!getValue()
            .equals(other.getValue())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasValue()) {
        hash = (37 * hash) + VALUE_FIELD_NUMBER;
        hash = (53 * hash) + getValue().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ContainerFormats.Option parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.Option parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Option parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.Option parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Option parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.Option parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Option parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.Option parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Option parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.Option parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Option parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.Option parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ContainerFormats.Option prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code Option}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:Option)
        akka.remote.ContainerFormats.OptionOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ContainerFormats.internal_static_Option_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ContainerFormats.internal_static_Option_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ContainerFormats.Option.class, akka.remote.ContainerFormats.Option.Builder.class);
      }

      // Construct using akka.remote.ContainerFormats.Option.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ContainerFormats.internal_static_Option_descriptor;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.Option getDefaultInstanceForType() {
        return akka.remote.ContainerFormats.Option.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.Option build() {
        akka.remote.ContainerFormats.Option result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.Option buildPartial() {
        akka.remote.ContainerFormats.Option result = new akka.remote.ContainerFormats.Option(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (valueBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = valueBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ContainerFormats.Option) {
          return mergeFrom((akka.remote.ContainerFormats.Option)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ContainerFormats.Option other) {
        if (other == akka.remote.ContainerFormats.Option.getDefaultInstance()) return this;
        if (other.hasValue()) {
          mergeValue(other.getValue());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private akka.remote.ContainerFormats.Payload value_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder> valueBuilder_;
      /**
       * <code>optional .Payload value = 1;</code>
       * @return Whether the value field is set.
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>optional .Payload value = 1;</code>
       * @return The value.
       */
      public akka.remote.ContainerFormats.Payload getValue() {
        if (valueBuilder_ == null) {
          return value_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : value_;
        } else {
          return valueBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .Payload value = 1;</code>
       */
      public Builder setValue(akka.remote.ContainerFormats.Payload value) {
        if (valueBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          valueBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .Payload value = 1;</code>
       */
      public Builder setValue(
          akka.remote.ContainerFormats.Payload.Builder builderForValue) {
        if (valueBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          valueBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .Payload value = 1;</code>
       */
      public Builder mergeValue(akka.remote.ContainerFormats.Payload value) {
        if (valueBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              value_ != null &&
              value_ != akka.remote.ContainerFormats.Payload.getDefaultInstance()) {
            value_ =
              akka.remote.ContainerFormats.Payload.newBuilder(value_).mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          valueBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .Payload value = 1;</code>
       */
      public Builder clearValue() {
        if (valueBuilder_ == null) {
          value_ = null;
          onChanged();
        } else {
          valueBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>optional .Payload value = 1;</code>
       */
      public akka.remote.ContainerFormats.Payload.Builder getValueBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getValueFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .Payload value = 1;</code>
       */
      public akka.remote.ContainerFormats.PayloadOrBuilder getValueOrBuilder() {
        if (valueBuilder_ != null) {
          return valueBuilder_.getMessageOrBuilder();
        } else {
          return value_ == null ?
              akka.remote.ContainerFormats.Payload.getDefaultInstance() : value_;
        }
      }
      /**
       * <code>optional .Payload value = 1;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder> 
          getValueFieldBuilder() {
        if (valueBuilder_ == null) {
          valueBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder>(
                  getValue(),
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        return valueBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:Option)
    }

    // @@protoc_insertion_point(class_scope:Option)
    private static final akka.remote.ContainerFormats.Option DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ContainerFormats.Option();
    }

    public static akka.remote.ContainerFormats.Option getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.remote.ContainerFormats.Option getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PayloadOrBuilder extends
      // @@protoc_insertion_point(interface_extends:Payload)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required bytes enclosedMessage = 1;</code>
     * @return Whether the enclosedMessage field is set.
     */
    boolean hasEnclosedMessage();
    /**
     * <code>required bytes enclosedMessage = 1;</code>
     * @return The enclosedMessage.
     */
    akka.protobufv3.internal.ByteString getEnclosedMessage();

    /**
     * <code>required int32 serializerId = 2;</code>
     * @return Whether the serializerId field is set.
     */
    boolean hasSerializerId();
    /**
     * <code>required int32 serializerId = 2;</code>
     * @return The serializerId.
     */
    int getSerializerId();

    /**
     * <code>optional bytes messageManifest = 4;</code>
     * @return Whether the messageManifest field is set.
     */
    boolean hasMessageManifest();
    /**
     * <code>optional bytes messageManifest = 4;</code>
     * @return The messageManifest.
     */
    akka.protobufv3.internal.ByteString getMessageManifest();
  }
  /**
   * Protobuf type {@code Payload}
   */
  public  static final class Payload extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:Payload)
      PayloadOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Payload.newBuilder() to construct.
    private Payload(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Payload() {
      enclosedMessage_ = akka.protobufv3.internal.ByteString.EMPTY;
      messageManifest_ = akka.protobufv3.internal.ByteString.EMPTY;
    }

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

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Payload(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              bitField0_ |= 0x00000001;
              enclosedMessage_ = input.readBytes();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              serializerId_ = input.readInt32();
              break;
            }
            case 34: {
              bitField0_ |= 0x00000004;
              messageManifest_ = input.readBytes();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.ContainerFormats.internal_static_Payload_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ContainerFormats.internal_static_Payload_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ContainerFormats.Payload.class, akka.remote.ContainerFormats.Payload.Builder.class);
    }

    private int bitField0_;
    public static final int ENCLOSEDMESSAGE_FIELD_NUMBER = 1;
    private akka.protobufv3.internal.ByteString enclosedMessage_;
    /**
     * <code>required bytes enclosedMessage = 1;</code>
     * @return Whether the enclosedMessage field is set.
     */
    public boolean hasEnclosedMessage() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required bytes enclosedMessage = 1;</code>
     * @return The enclosedMessage.
     */
    public akka.protobufv3.internal.ByteString getEnclosedMessage() {
      return enclosedMessage_;
    }

    public static final int SERIALIZERID_FIELD_NUMBER = 2;
    private int serializerId_;
    /**
     * <code>required int32 serializerId = 2;</code>
     * @return Whether the serializerId field is set.
     */
    public boolean hasSerializerId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required int32 serializerId = 2;</code>
     * @return The serializerId.
     */
    public int getSerializerId() {
      return serializerId_;
    }

    public static final int MESSAGEMANIFEST_FIELD_NUMBER = 4;
    private akka.protobufv3.internal.ByteString messageManifest_;
    /**
     * <code>optional bytes messageManifest = 4;</code>
     * @return Whether the messageManifest field is set.
     */
    public boolean hasMessageManifest() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional bytes messageManifest = 4;</code>
     * @return The messageManifest.
     */
    public akka.protobufv3.internal.ByteString getMessageManifest() {
      return messageManifest_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

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

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeBytes(1, enclosedMessage_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt32(2, serializerId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeBytes(4, messageManifest_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeBytesSize(1, enclosedMessage_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeInt32Size(2, serializerId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeBytesSize(4, messageManifest_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ContainerFormats.Payload)) {
        return super.equals(obj);
      }
      akka.remote.ContainerFormats.Payload other = (akka.remote.ContainerFormats.Payload) obj;

      if (hasEnclosedMessage() != other.hasEnclosedMessage()) return false;
      if (hasEnclosedMessage()) {
        if (!getEnclosedMessage()
            .equals(other.getEnclosedMessage())) return false;
      }
      if (hasSerializerId() != other.hasSerializerId()) return false;
      if (hasSerializerId()) {
        if (getSerializerId()
            != other.getSerializerId()) return false;
      }
      if (hasMessageManifest() != other.hasMessageManifest()) return false;
      if (hasMessageManifest()) {
        if (!getMessageManifest()
            .equals(other.getMessageManifest())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasEnclosedMessage()) {
        hash = (37 * hash) + ENCLOSEDMESSAGE_FIELD_NUMBER;
        hash = (53 * hash) + getEnclosedMessage().hashCode();
      }
      if (hasSerializerId()) {
        hash = (37 * hash) + SERIALIZERID_FIELD_NUMBER;
        hash = (53 * hash) + getSerializerId();
      }
      if (hasMessageManifest()) {
        hash = (37 * hash) + MESSAGEMANIFEST_FIELD_NUMBER;
        hash = (53 * hash) + getMessageManifest().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ContainerFormats.Payload parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.Payload parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Payload parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.Payload parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Payload parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.Payload parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Payload parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.Payload parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Payload parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.Payload parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Payload parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.Payload parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ContainerFormats.Payload prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code Payload}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:Payload)
        akka.remote.ContainerFormats.PayloadOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ContainerFormats.internal_static_Payload_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ContainerFormats.internal_static_Payload_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ContainerFormats.Payload.class, akka.remote.ContainerFormats.Payload.Builder.class);
      }

      // Construct using akka.remote.ContainerFormats.Payload.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        enclosedMessage_ = akka.protobufv3.internal.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        serializerId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        messageManifest_ = akka.protobufv3.internal.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ContainerFormats.internal_static_Payload_descriptor;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.Payload getDefaultInstanceForType() {
        return akka.remote.ContainerFormats.Payload.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.Payload build() {
        akka.remote.ContainerFormats.Payload result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.Payload buildPartial() {
        akka.remote.ContainerFormats.Payload result = new akka.remote.ContainerFormats.Payload(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.enclosedMessage_ = enclosedMessage_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.serializerId_ = serializerId_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          to_bitField0_ |= 0x00000004;
        }
        result.messageManifest_ = messageManifest_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ContainerFormats.Payload) {
          return mergeFrom((akka.remote.ContainerFormats.Payload)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ContainerFormats.Payload other) {
        if (other == akka.remote.ContainerFormats.Payload.getDefaultInstance()) return this;
        if (other.hasEnclosedMessage()) {
          setEnclosedMessage(other.getEnclosedMessage());
        }
        if (other.hasSerializerId()) {
          setSerializerId(other.getSerializerId());
        }
        if (other.hasMessageManifest()) {
          setMessageManifest(other.getMessageManifest());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private akka.protobufv3.internal.ByteString enclosedMessage_ = akka.protobufv3.internal.ByteString.EMPTY;
      /**
       * <code>required bytes enclosedMessage = 1;</code>
       * @return Whether the enclosedMessage field is set.
       */
      public boolean hasEnclosedMessage() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required bytes enclosedMessage = 1;</code>
       * @return The enclosedMessage.
       */
      public akka.protobufv3.internal.ByteString getEnclosedMessage() {
        return enclosedMessage_;
      }
      /**
       * <code>required bytes enclosedMessage = 1;</code>
       * @param value The enclosedMessage to set.
       * @return This builder for chaining.
       */
      public Builder setEnclosedMessage(akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        enclosedMessage_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes enclosedMessage = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearEnclosedMessage() {
        bitField0_ = (bitField0_ & ~0x00000001);
        enclosedMessage_ = getDefaultInstance().getEnclosedMessage();
        onChanged();
        return this;
      }

      private int serializerId_ ;
      /**
       * <code>required int32 serializerId = 2;</code>
       * @return Whether the serializerId field is set.
       */
      public boolean hasSerializerId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required int32 serializerId = 2;</code>
       * @return The serializerId.
       */
      public int getSerializerId() {
        return serializerId_;
      }
      /**
       * <code>required int32 serializerId = 2;</code>
       * @param value The serializerId to set.
       * @return This builder for chaining.
       */
      public Builder setSerializerId(int value) {
        bitField0_ |= 0x00000002;
        serializerId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required int32 serializerId = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearSerializerId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        serializerId_ = 0;
        onChanged();
        return this;
      }

      private akka.protobufv3.internal.ByteString messageManifest_ = akka.protobufv3.internal.ByteString.EMPTY;
      /**
       * <code>optional bytes messageManifest = 4;</code>
       * @return Whether the messageManifest field is set.
       */
      public boolean hasMessageManifest() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional bytes messageManifest = 4;</code>
       * @return The messageManifest.
       */
      public akka.protobufv3.internal.ByteString getMessageManifest() {
        return messageManifest_;
      }
      /**
       * <code>optional bytes messageManifest = 4;</code>
       * @param value The messageManifest to set.
       * @return This builder for chaining.
       */
      public Builder setMessageManifest(akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        messageManifest_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes messageManifest = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearMessageManifest() {
        bitField0_ = (bitField0_ & ~0x00000004);
        messageManifest_ = getDefaultInstance().getMessageManifest();
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:Payload)
    }

    // @@protoc_insertion_point(class_scope:Payload)
    private static final akka.remote.ContainerFormats.Payload DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ContainerFormats.Payload();
    }

    public static akka.remote.ContainerFormats.Payload getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.remote.ContainerFormats.Payload getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface WatcherHeartbeatResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:WatcherHeartbeatResponse)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required uint64 uid = 1;</code>
     * @return Whether the uid field is set.
     */
    boolean hasUid();
    /**
     * <code>required uint64 uid = 1;</code>
     * @return The uid.
     */
    long getUid();
  }
  /**
   * Protobuf type {@code WatcherHeartbeatResponse}
   */
  public  static final class WatcherHeartbeatResponse extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:WatcherHeartbeatResponse)
      WatcherHeartbeatResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use WatcherHeartbeatResponse.newBuilder() to construct.
    private WatcherHeartbeatResponse(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private WatcherHeartbeatResponse() {
    }

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

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

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ContainerFormats.internal_static_WatcherHeartbeatResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ContainerFormats.WatcherHeartbeatResponse.class, akka.remote.ContainerFormats.WatcherHeartbeatResponse.Builder.class);
    }

    private int bitField0_;
    public static final int UID_FIELD_NUMBER = 1;
    private long uid_;
    /**
     * <code>required uint64 uid = 1;</code>
     * @return Whether the uid field is set.
     */
    public boolean hasUid() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required uint64 uid = 1;</code>
     * @return The uid.
     */
    public long getUid() {
      return uid_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

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

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, uid_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeUInt64Size(1, uid_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ContainerFormats.WatcherHeartbeatResponse)) {
        return super.equals(obj);
      }
      akka.remote.ContainerFormats.WatcherHeartbeatResponse other = (akka.remote.ContainerFormats.WatcherHeartbeatResponse) obj;

      if (hasUid() != other.hasUid()) return false;
      if (hasUid()) {
        if (getUid()
            != other.getUid()) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

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

    public static akka.remote.ContainerFormats.WatcherHeartbeatResponse parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.WatcherHeartbeatResponse parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.WatcherHeartbeatResponse parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.WatcherHeartbeatResponse parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.WatcherHeartbeatResponse parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.WatcherHeartbeatResponse parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.WatcherHeartbeatResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.WatcherHeartbeatResponse parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.WatcherHeartbeatResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.WatcherHeartbeatResponse parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.WatcherHeartbeatResponse parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.WatcherHeartbeatResponse parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ContainerFormats.WatcherHeartbeatResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code WatcherHeartbeatResponse}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:WatcherHeartbeatResponse)
        akka.remote.ContainerFormats.WatcherHeartbeatResponseOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ContainerFormats.internal_static_WatcherHeartbeatResponse_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ContainerFormats.internal_static_WatcherHeartbeatResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ContainerFormats.WatcherHeartbeatResponse.class, akka.remote.ContainerFormats.WatcherHeartbeatResponse.Builder.class);
      }

      // Construct using akka.remote.ContainerFormats.WatcherHeartbeatResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ContainerFormats.internal_static_WatcherHeartbeatResponse_descriptor;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.WatcherHeartbeatResponse getDefaultInstanceForType() {
        return akka.remote.ContainerFormats.WatcherHeartbeatResponse.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.WatcherHeartbeatResponse build() {
        akka.remote.ContainerFormats.WatcherHeartbeatResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.WatcherHeartbeatResponse buildPartial() {
        akka.remote.ContainerFormats.WatcherHeartbeatResponse result = new akka.remote.ContainerFormats.WatcherHeartbeatResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.uid_ = uid_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ContainerFormats.WatcherHeartbeatResponse) {
          return mergeFrom((akka.remote.ContainerFormats.WatcherHeartbeatResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ContainerFormats.WatcherHeartbeatResponse other) {
        if (other == akka.remote.ContainerFormats.WatcherHeartbeatResponse.getDefaultInstance()) return this;
        if (other.hasUid()) {
          setUid(other.getUid());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private long uid_ ;
      /**
       * <code>required uint64 uid = 1;</code>
       * @return Whether the uid field is set.
       */
      public boolean hasUid() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required uint64 uid = 1;</code>
       * @return The uid.
       */
      public long getUid() {
        return uid_;
      }
      /**
       * <code>required uint64 uid = 1;</code>
       * @param value The uid to set.
       * @return This builder for chaining.
       */
      public Builder setUid(long value) {
        bitField0_ |= 0x00000001;
        uid_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required uint64 uid = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearUid() {
        bitField0_ = (bitField0_ & ~0x00000001);
        uid_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:WatcherHeartbeatResponse)
    }

    // @@protoc_insertion_point(class_scope:WatcherHeartbeatResponse)
    private static final akka.remote.ContainerFormats.WatcherHeartbeatResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ContainerFormats.WatcherHeartbeatResponse();
    }

    public static akka.remote.ContainerFormats.WatcherHeartbeatResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.remote.ContainerFormats.WatcherHeartbeatResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ThrowableOrBuilder extends
      // @@protoc_insertion_point(interface_extends:Throwable)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required string className = 1;</code>
     * @return Whether the className field is set.
     */
    boolean hasClassName();
    /**
     * <code>required string className = 1;</code>
     * @return The className.
     */
    java.lang.String getClassName();
    /**
     * <code>required string className = 1;</code>
     * @return The bytes for className.
     */
    akka.protobufv3.internal.ByteString
        getClassNameBytes();

    /**
     * <code>optional string message = 2;</code>
     * @return Whether the message field is set.
     */
    boolean hasMessage();
    /**
     * <code>optional string message = 2;</code>
     * @return The message.
     */
    java.lang.String getMessage();
    /**
     * <code>optional string message = 2;</code>
     * @return The bytes for message.
     */
    akka.protobufv3.internal.ByteString
        getMessageBytes();

    /**
     * <code>optional .Payload cause = 3;</code>
     * @return Whether the cause field is set.
     */
    boolean hasCause();
    /**
     * <code>optional .Payload cause = 3;</code>
     * @return The cause.
     */
    akka.remote.ContainerFormats.Payload getCause();
    /**
     * <code>optional .Payload cause = 3;</code>
     */
    akka.remote.ContainerFormats.PayloadOrBuilder getCauseOrBuilder();

    /**
     * <code>repeated .StackTraceElement stackTrace = 4;</code>
     */
    java.util.List<akka.remote.ContainerFormats.StackTraceElement> 
        getStackTraceList();
    /**
     * <code>repeated .StackTraceElement stackTrace = 4;</code>
     */
    akka.remote.ContainerFormats.StackTraceElement getStackTrace(int index);
    /**
     * <code>repeated .StackTraceElement stackTrace = 4;</code>
     */
    int getStackTraceCount();
    /**
     * <code>repeated .StackTraceElement stackTrace = 4;</code>
     */
    java.util.List<? extends akka.remote.ContainerFormats.StackTraceElementOrBuilder> 
        getStackTraceOrBuilderList();
    /**
     * <code>repeated .StackTraceElement stackTrace = 4;</code>
     */
    akka.remote.ContainerFormats.StackTraceElementOrBuilder getStackTraceOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code Throwable}
   */
  public  static final class Throwable extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:Throwable)
      ThrowableOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Throwable.newBuilder() to construct.
    private Throwable(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Throwable() {
      className_ = "";
      message_ = "";
      stackTrace_ = java.util.Collections.emptyList();
    }

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

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Throwable(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              className_ = bs;
              break;
            }
            case 18: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              message_ = bs;
              break;
            }
            case 26: {
              akka.remote.ContainerFormats.Payload.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) != 0)) {
                subBuilder = cause_.toBuilder();
              }
              cause_ = input.readMessage(akka.remote.ContainerFormats.Payload.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(cause_);
                cause_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            case 34: {
              if (!((mutable_bitField0_ & 0x00000008) != 0)) {
                stackTrace_ = new java.util.ArrayList<akka.remote.ContainerFormats.StackTraceElement>();
                mutable_bitField0_ |= 0x00000008;
              }
              stackTrace_.add(
                  input.readMessage(akka.remote.ContainerFormats.StackTraceElement.PARSER, extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000008) != 0)) {
          stackTrace_ = java.util.Collections.unmodifiableList(stackTrace_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.ContainerFormats.internal_static_Throwable_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ContainerFormats.internal_static_Throwable_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ContainerFormats.Throwable.class, akka.remote.ContainerFormats.Throwable.Builder.class);
    }

    private int bitField0_;
    public static final int CLASSNAME_FIELD_NUMBER = 1;
    private volatile java.lang.Object className_;
    /**
     * <code>required string className = 1;</code>
     * @return Whether the className field is set.
     */
    public boolean hasClassName() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string className = 1;</code>
     * @return The className.
     */
    public java.lang.String getClassName() {
      java.lang.Object ref = className_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        akka.protobufv3.internal.ByteString bs = 
            (akka.protobufv3.internal.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          className_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string className = 1;</code>
     * @return The bytes for className.
     */
    public akka.protobufv3.internal.ByteString
        getClassNameBytes() {
      java.lang.Object ref = className_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        className_ = b;
        return b;
      } else {
        return (akka.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int MESSAGE_FIELD_NUMBER = 2;
    private volatile java.lang.Object message_;
    /**
     * <code>optional string message = 2;</code>
     * @return Whether the message field is set.
     */
    public boolean hasMessage() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional string message = 2;</code>
     * @return The message.
     */
    public java.lang.String getMessage() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        akka.protobufv3.internal.ByteString bs = 
            (akka.protobufv3.internal.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          message_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string message = 2;</code>
     * @return The bytes for message.
     */
    public akka.protobufv3.internal.ByteString
        getMessageBytes() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        message_ = b;
        return b;
      } else {
        return (akka.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int CAUSE_FIELD_NUMBER = 3;
    private akka.remote.ContainerFormats.Payload cause_;
    /**
     * <code>optional .Payload cause = 3;</code>
     * @return Whether the cause field is set.
     */
    public boolean hasCause() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional .Payload cause = 3;</code>
     * @return The cause.
     */
    public akka.remote.ContainerFormats.Payload getCause() {
      return cause_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : cause_;
    }
    /**
     * <code>optional .Payload cause = 3;</code>
     */
    public akka.remote.ContainerFormats.PayloadOrBuilder getCauseOrBuilder() {
      return cause_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : cause_;
    }

    public static final int STACKTRACE_FIELD_NUMBER = 4;
    private java.util.List<akka.remote.ContainerFormats.StackTraceElement> stackTrace_;
    /**
     * <code>repeated .StackTraceElement stackTrace = 4;</code>
     */
    public java.util.List<akka.remote.ContainerFormats.StackTraceElement> getStackTraceList() {
      return stackTrace_;
    }
    /**
     * <code>repeated .StackTraceElement stackTrace = 4;</code>
     */
    public java.util.List<? extends akka.remote.ContainerFormats.StackTraceElementOrBuilder> 
        getStackTraceOrBuilderList() {
      return stackTrace_;
    }
    /**
     * <code>repeated .StackTraceElement stackTrace = 4;</code>
     */
    public int getStackTraceCount() {
      return stackTrace_.size();
    }
    /**
     * <code>repeated .StackTraceElement stackTrace = 4;</code>
     */
    public akka.remote.ContainerFormats.StackTraceElement getStackTrace(int index) {
      return stackTrace_.get(index);
    }
    /**
     * <code>repeated .StackTraceElement stackTrace = 4;</code>
     */
    public akka.remote.ContainerFormats.StackTraceElementOrBuilder getStackTraceOrBuilder(
        int index) {
      return stackTrace_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      if (!hasClassName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (hasCause()) {
        if (!getCause().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getStackTraceCount(); i++) {
        if (!getStackTrace(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 1, className_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 2, message_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeMessage(3, getCause());
      }
      for (int i = 0; i < stackTrace_.size(); i++) {
        output.writeMessage(4, stackTrace_.get(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(1, className_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(2, message_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(3, getCause());
      }
      for (int i = 0; i < stackTrace_.size(); i++) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(4, stackTrace_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ContainerFormats.Throwable)) {
        return super.equals(obj);
      }
      akka.remote.ContainerFormats.Throwable other = (akka.remote.ContainerFormats.Throwable) obj;

      if (hasClassName() != other.hasClassName()) return false;
      if (hasClassName()) {
        if (!getClassName()
            .equals(other.getClassName())) return false;
      }
      if (hasMessage() != other.hasMessage()) return false;
      if (hasMessage()) {
        if (!getMessage()
            .equals(other.getMessage())) return false;
      }
      if (hasCause() != other.hasCause()) return false;
      if (hasCause()) {
        if (!getCause()
            .equals(other.getCause())) return false;
      }
      if (!getStackTraceList()
          .equals(other.getStackTraceList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasClassName()) {
        hash = (37 * hash) + CLASSNAME_FIELD_NUMBER;
        hash = (53 * hash) + getClassName().hashCode();
      }
      if (hasMessage()) {
        hash = (37 * hash) + MESSAGE_FIELD_NUMBER;
        hash = (53 * hash) + getMessage().hashCode();
      }
      if (hasCause()) {
        hash = (37 * hash) + CAUSE_FIELD_NUMBER;
        hash = (53 * hash) + getCause().hashCode();
      }
      if (getStackTraceCount() > 0) {
        hash = (37 * hash) + STACKTRACE_FIELD_NUMBER;
        hash = (53 * hash) + getStackTraceList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ContainerFormats.Throwable parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.Throwable parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Throwable parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.Throwable parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Throwable parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.Throwable parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Throwable parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.Throwable parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Throwable parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.Throwable parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.Throwable parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.Throwable parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ContainerFormats.Throwable prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code Throwable}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:Throwable)
        akka.remote.ContainerFormats.ThrowableOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ContainerFormats.internal_static_Throwable_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ContainerFormats.internal_static_Throwable_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ContainerFormats.Throwable.class, akka.remote.ContainerFormats.Throwable.Builder.class);
      }

      // Construct using akka.remote.ContainerFormats.Throwable.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getCauseFieldBuilder();
          getStackTraceFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        className_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        message_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        if (causeBuilder_ == null) {
          cause_ = null;
        } else {
          causeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        if (stackTraceBuilder_ == null) {
          stackTrace_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
        } else {
          stackTraceBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ContainerFormats.internal_static_Throwable_descriptor;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.Throwable getDefaultInstanceForType() {
        return akka.remote.ContainerFormats.Throwable.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.Throwable build() {
        akka.remote.ContainerFormats.Throwable result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.Throwable buildPartial() {
        akka.remote.ContainerFormats.Throwable result = new akka.remote.ContainerFormats.Throwable(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.className_ = className_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          to_bitField0_ |= 0x00000002;
        }
        result.message_ = message_;
        if (((from_bitField0_ & 0x00000004) != 0)) {
          if (causeBuilder_ == null) {
            result.cause_ = cause_;
          } else {
            result.cause_ = causeBuilder_.build();
          }
          to_bitField0_ |= 0x00000004;
        }
        if (stackTraceBuilder_ == null) {
          if (((bitField0_ & 0x00000008) != 0)) {
            stackTrace_ = java.util.Collections.unmodifiableList(stackTrace_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.stackTrace_ = stackTrace_;
        } else {
          result.stackTrace_ = stackTraceBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ContainerFormats.Throwable) {
          return mergeFrom((akka.remote.ContainerFormats.Throwable)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ContainerFormats.Throwable other) {
        if (other == akka.remote.ContainerFormats.Throwable.getDefaultInstance()) return this;
        if (other.hasClassName()) {
          bitField0_ |= 0x00000001;
          className_ = other.className_;
          onChanged();
        }
        if (other.hasMessage()) {
          bitField0_ |= 0x00000002;
          message_ = other.message_;
          onChanged();
        }
        if (other.hasCause()) {
          mergeCause(other.getCause());
        }
        if (stackTraceBuilder_ == null) {
          if (!other.stackTrace_.isEmpty()) {
            if (stackTrace_.isEmpty()) {
              stackTrace_ = other.stackTrace_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensureStackTraceIsMutable();
              stackTrace_.addAll(other.stackTrace_);
            }
            onChanged();
          }
        } else {
          if (!other.stackTrace_.isEmpty()) {
            if (stackTraceBuilder_.isEmpty()) {
              stackTraceBuilder_.dispose();
              stackTraceBuilder_ = null;
              stackTrace_ = other.stackTrace_;
              bitField0_ = (bitField0_ & ~0x00000008);
              stackTraceBuilder_ = 
                akka.protobufv3.internal.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getStackTraceFieldBuilder() : null;
            } else {
              stackTraceBuilder_.addAllMessages(other.stackTrace_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasClassName()) {
          return false;
        }
        if (hasCause()) {
          if (!getCause().isInitialized()) {
            return false;
          }
        }
        for (int i = 0; i < getStackTraceCount(); i++) {
          if (!getStackTrace(i).isInitialized()) {
            return false;
          }
        }
        return true;
      }

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

      private java.lang.Object className_ = "";
      /**
       * <code>required string className = 1;</code>
       * @return Whether the className field is set.
       */
      public boolean hasClassName() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string className = 1;</code>
       * @return The className.
       */
      public java.lang.String getClassName() {
        java.lang.Object ref = className_;
        if (!(ref instanceof java.lang.String)) {
          akka.protobufv3.internal.ByteString bs =
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            className_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string className = 1;</code>
       * @return The bytes for className.
       */
      public akka.protobufv3.internal.ByteString
          getClassNameBytes() {
        java.lang.Object ref = className_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          className_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string className = 1;</code>
       * @param value The className to set.
       * @return This builder for chaining.
       */
      public Builder setClassName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        className_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string className = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearClassName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        className_ = getDefaultInstance().getClassName();
        onChanged();
        return this;
      }
      /**
       * <code>required string className = 1;</code>
       * @param value The bytes for className to set.
       * @return This builder for chaining.
       */
      public Builder setClassNameBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        className_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object message_ = "";
      /**
       * <code>optional string message = 2;</code>
       * @return Whether the message field is set.
       */
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional string message = 2;</code>
       * @return The message.
       */
      public java.lang.String getMessage() {
        java.lang.Object ref = message_;
        if (!(ref instanceof java.lang.String)) {
          akka.protobufv3.internal.ByteString bs =
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            message_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string message = 2;</code>
       * @return The bytes for message.
       */
      public akka.protobufv3.internal.ByteString
          getMessageBytes() {
        java.lang.Object ref = message_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          message_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>optional string message = 2;</code>
       * @param value The message to set.
       * @return This builder for chaining.
       */
      public Builder setMessage(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        message_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string message = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearMessage() {
        bitField0_ = (bitField0_ & ~0x00000002);
        message_ = getDefaultInstance().getMessage();
        onChanged();
        return this;
      }
      /**
       * <code>optional string message = 2;</code>
       * @param value The bytes for message to set.
       * @return This builder for chaining.
       */
      public Builder setMessageBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        message_ = value;
        onChanged();
        return this;
      }

      private akka.remote.ContainerFormats.Payload cause_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder> causeBuilder_;
      /**
       * <code>optional .Payload cause = 3;</code>
       * @return Whether the cause field is set.
       */
      public boolean hasCause() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional .Payload cause = 3;</code>
       * @return The cause.
       */
      public akka.remote.ContainerFormats.Payload getCause() {
        if (causeBuilder_ == null) {
          return cause_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : cause_;
        } else {
          return causeBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .Payload cause = 3;</code>
       */
      public Builder setCause(akka.remote.ContainerFormats.Payload value) {
        if (causeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          cause_ = value;
          onChanged();
        } else {
          causeBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .Payload cause = 3;</code>
       */
      public Builder setCause(
          akka.remote.ContainerFormats.Payload.Builder builderForValue) {
        if (causeBuilder_ == null) {
          cause_ = builderForValue.build();
          onChanged();
        } else {
          causeBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .Payload cause = 3;</code>
       */
      public Builder mergeCause(akka.remote.ContainerFormats.Payload value) {
        if (causeBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0) &&
              cause_ != null &&
              cause_ != akka.remote.ContainerFormats.Payload.getDefaultInstance()) {
            cause_ =
              akka.remote.ContainerFormats.Payload.newBuilder(cause_).mergeFrom(value).buildPartial();
          } else {
            cause_ = value;
          }
          onChanged();
        } else {
          causeBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .Payload cause = 3;</code>
       */
      public Builder clearCause() {
        if (causeBuilder_ == null) {
          cause_ = null;
          onChanged();
        } else {
          causeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * <code>optional .Payload cause = 3;</code>
       */
      public akka.remote.ContainerFormats.Payload.Builder getCauseBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getCauseFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .Payload cause = 3;</code>
       */
      public akka.remote.ContainerFormats.PayloadOrBuilder getCauseOrBuilder() {
        if (causeBuilder_ != null) {
          return causeBuilder_.getMessageOrBuilder();
        } else {
          return cause_ == null ?
              akka.remote.ContainerFormats.Payload.getDefaultInstance() : cause_;
        }
      }
      /**
       * <code>optional .Payload cause = 3;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder> 
          getCauseFieldBuilder() {
        if (causeBuilder_ == null) {
          causeBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder>(
                  getCause(),
                  getParentForChildren(),
                  isClean());
          cause_ = null;
        }
        return causeBuilder_;
      }

      private java.util.List<akka.remote.ContainerFormats.StackTraceElement> stackTrace_ =
        java.util.Collections.emptyList();
      private void ensureStackTraceIsMutable() {
        if (!((bitField0_ & 0x00000008) != 0)) {
          stackTrace_ = new java.util.ArrayList<akka.remote.ContainerFormats.StackTraceElement>(stackTrace_);
          bitField0_ |= 0x00000008;
         }
      }

      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.remote.ContainerFormats.StackTraceElement, akka.remote.ContainerFormats.StackTraceElement.Builder, akka.remote.ContainerFormats.StackTraceElementOrBuilder> stackTraceBuilder_;

      /**
       * <code>repeated .StackTraceElement stackTrace = 4;</code>
       */
      public java.util.List<akka.remote.ContainerFormats.StackTraceElement> getStackTraceList() {
        if (stackTraceBuilder_ == null) {
          return java.util.Collections.unmodifiableList(stackTrace_);
        } else {
          return stackTraceBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .StackTraceElement stackTrace = 4;</code>
       */
      public int getStackTraceCount() {
        if (stackTraceBuilder_ == null) {
          return stackTrace_.size();
        } else {
          return stackTraceBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .StackTraceElement stackTrace = 4;</code>
       */
      public akka.remote.ContainerFormats.StackTraceElement getStackTrace(int index) {
        if (stackTraceBuilder_ == null) {
          return stackTrace_.get(index);
        } else {
          return stackTraceBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .StackTraceElement stackTrace = 4;</code>
       */
      public Builder setStackTrace(
          int index, akka.remote.ContainerFormats.StackTraceElement value) {
        if (stackTraceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStackTraceIsMutable();
          stackTrace_.set(index, value);
          onChanged();
        } else {
          stackTraceBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .StackTraceElement stackTrace = 4;</code>
       */
      public Builder setStackTrace(
          int index, akka.remote.ContainerFormats.StackTraceElement.Builder builderForValue) {
        if (stackTraceBuilder_ == null) {
          ensureStackTraceIsMutable();
          stackTrace_.set(index, builderForValue.build());
          onChanged();
        } else {
          stackTraceBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .StackTraceElement stackTrace = 4;</code>
       */
      public Builder addStackTrace(akka.remote.ContainerFormats.StackTraceElement value) {
        if (stackTraceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStackTraceIsMutable();
          stackTrace_.add(value);
          onChanged();
        } else {
          stackTraceBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .StackTraceElement stackTrace = 4;</code>
       */
      public Builder addStackTrace(
          int index, akka.remote.ContainerFormats.StackTraceElement value) {
        if (stackTraceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStackTraceIsMutable();
          stackTrace_.add(index, value);
          onChanged();
        } else {
          stackTraceBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .StackTraceElement stackTrace = 4;</code>
       */
      public Builder addStackTrace(
          akka.remote.ContainerFormats.StackTraceElement.Builder builderForValue) {
        if (stackTraceBuilder_ == null) {
          ensureStackTraceIsMutable();
          stackTrace_.add(builderForValue.build());
          onChanged();
        } else {
          stackTraceBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .StackTraceElement stackTrace = 4;</code>
       */
      public Builder addStackTrace(
          int index, akka.remote.ContainerFormats.StackTraceElement.Builder builderForValue) {
        if (stackTraceBuilder_ == null) {
          ensureStackTraceIsMutable();
          stackTrace_.add(index, builderForValue.build());
          onChanged();
        } else {
          stackTraceBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .StackTraceElement stackTrace = 4;</code>
       */
      public Builder addAllStackTrace(
          java.lang.Iterable<? extends akka.remote.ContainerFormats.StackTraceElement> values) {
        if (stackTraceBuilder_ == null) {
          ensureStackTraceIsMutable();
          akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
              values, stackTrace_);
          onChanged();
        } else {
          stackTraceBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .StackTraceElement stackTrace = 4;</code>
       */
      public Builder clearStackTrace() {
        if (stackTraceBuilder_ == null) {
          stackTrace_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          stackTraceBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .StackTraceElement stackTrace = 4;</code>
       */
      public Builder removeStackTrace(int index) {
        if (stackTraceBuilder_ == null) {
          ensureStackTraceIsMutable();
          stackTrace_.remove(index);
          onChanged();
        } else {
          stackTraceBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .StackTraceElement stackTrace = 4;</code>
       */
      public akka.remote.ContainerFormats.StackTraceElement.Builder getStackTraceBuilder(
          int index) {
        return getStackTraceFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .StackTraceElement stackTrace = 4;</code>
       */
      public akka.remote.ContainerFormats.StackTraceElementOrBuilder getStackTraceOrBuilder(
          int index) {
        if (stackTraceBuilder_ == null) {
          return stackTrace_.get(index);  } else {
          return stackTraceBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .StackTraceElement stackTrace = 4;</code>
       */
      public java.util.List<? extends akka.remote.ContainerFormats.StackTraceElementOrBuilder> 
           getStackTraceOrBuilderList() {
        if (stackTraceBuilder_ != null) {
          return stackTraceBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(stackTrace_);
        }
      }
      /**
       * <code>repeated .StackTraceElement stackTrace = 4;</code>
       */
      public akka.remote.ContainerFormats.StackTraceElement.Builder addStackTraceBuilder() {
        return getStackTraceFieldBuilder().addBuilder(
            akka.remote.ContainerFormats.StackTraceElement.getDefaultInstance());
      }
      /**
       * <code>repeated .StackTraceElement stackTrace = 4;</code>
       */
      public akka.remote.ContainerFormats.StackTraceElement.Builder addStackTraceBuilder(
          int index) {
        return getStackTraceFieldBuilder().addBuilder(
            index, akka.remote.ContainerFormats.StackTraceElement.getDefaultInstance());
      }
      /**
       * <code>repeated .StackTraceElement stackTrace = 4;</code>
       */
      public java.util.List<akka.remote.ContainerFormats.StackTraceElement.Builder> 
           getStackTraceBuilderList() {
        return getStackTraceFieldBuilder().getBuilderList();
      }
      private akka.protobufv3.internal.RepeatedFieldBuilderV3<
          akka.remote.ContainerFormats.StackTraceElement, akka.remote.ContainerFormats.StackTraceElement.Builder, akka.remote.ContainerFormats.StackTraceElementOrBuilder> 
          getStackTraceFieldBuilder() {
        if (stackTraceBuilder_ == null) {
          stackTraceBuilder_ = new akka.protobufv3.internal.RepeatedFieldBuilderV3<
              akka.remote.ContainerFormats.StackTraceElement, akka.remote.ContainerFormats.StackTraceElement.Builder, akka.remote.ContainerFormats.StackTraceElementOrBuilder>(
                  stackTrace_,
                  ((bitField0_ & 0x00000008) != 0),
                  getParentForChildren(),
                  isClean());
          stackTrace_ = null;
        }
        return stackTraceBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:Throwable)
    }

    // @@protoc_insertion_point(class_scope:Throwable)
    private static final akka.remote.ContainerFormats.Throwable DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ContainerFormats.Throwable();
    }

    public static akka.remote.ContainerFormats.Throwable getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.remote.ContainerFormats.Throwable getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ThrowableNotSerializableOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ThrowableNotSerializable)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required string message = 1;</code>
     * @return Whether the message field is set.
     */
    boolean hasMessage();
    /**
     * <code>required string message = 1;</code>
     * @return The message.
     */
    java.lang.String getMessage();
    /**
     * <code>required string message = 1;</code>
     * @return The bytes for message.
     */
    akka.protobufv3.internal.ByteString
        getMessageBytes();

    /**
     * <code>required string originalMessage = 2;</code>
     * @return Whether the originalMessage field is set.
     */
    boolean hasOriginalMessage();
    /**
     * <code>required string originalMessage = 2;</code>
     * @return The originalMessage.
     */
    java.lang.String getOriginalMessage();
    /**
     * <code>required string originalMessage = 2;</code>
     * @return The bytes for originalMessage.
     */
    akka.protobufv3.internal.ByteString
        getOriginalMessageBytes();

    /**
     * <code>required string originalClassName = 3;</code>
     * @return Whether the originalClassName field is set.
     */
    boolean hasOriginalClassName();
    /**
     * <code>required string originalClassName = 3;</code>
     * @return The originalClassName.
     */
    java.lang.String getOriginalClassName();
    /**
     * <code>required string originalClassName = 3;</code>
     * @return The bytes for originalClassName.
     */
    akka.protobufv3.internal.ByteString
        getOriginalClassNameBytes();
  }
  /**
   * Protobuf type {@code ThrowableNotSerializable}
   */
  public  static final class ThrowableNotSerializable extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:ThrowableNotSerializable)
      ThrowableNotSerializableOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ThrowableNotSerializable.newBuilder() to construct.
    private ThrowableNotSerializable(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ThrowableNotSerializable() {
      message_ = "";
      originalMessage_ = "";
      originalClassName_ = "";
    }

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

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ThrowableNotSerializable(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              message_ = bs;
              break;
            }
            case 18: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              originalMessage_ = bs;
              break;
            }
            case 26: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000004;
              originalClassName_ = bs;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.ContainerFormats.internal_static_ThrowableNotSerializable_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ContainerFormats.internal_static_ThrowableNotSerializable_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ContainerFormats.ThrowableNotSerializable.class, akka.remote.ContainerFormats.ThrowableNotSerializable.Builder.class);
    }

    private int bitField0_;
    public static final int MESSAGE_FIELD_NUMBER = 1;
    private volatile java.lang.Object message_;
    /**
     * <code>required string message = 1;</code>
     * @return Whether the message field is set.
     */
    public boolean hasMessage() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string message = 1;</code>
     * @return The message.
     */
    public java.lang.String getMessage() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        akka.protobufv3.internal.ByteString bs = 
            (akka.protobufv3.internal.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          message_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string message = 1;</code>
     * @return The bytes for message.
     */
    public akka.protobufv3.internal.ByteString
        getMessageBytes() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        message_ = b;
        return b;
      } else {
        return (akka.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int ORIGINALMESSAGE_FIELD_NUMBER = 2;
    private volatile java.lang.Object originalMessage_;
    /**
     * <code>required string originalMessage = 2;</code>
     * @return Whether the originalMessage field is set.
     */
    public boolean hasOriginalMessage() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required string originalMessage = 2;</code>
     * @return The originalMessage.
     */
    public java.lang.String getOriginalMessage() {
      java.lang.Object ref = originalMessage_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        akka.protobufv3.internal.ByteString bs = 
            (akka.protobufv3.internal.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          originalMessage_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string originalMessage = 2;</code>
     * @return The bytes for originalMessage.
     */
    public akka.protobufv3.internal.ByteString
        getOriginalMessageBytes() {
      java.lang.Object ref = originalMessage_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        originalMessage_ = b;
        return b;
      } else {
        return (akka.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int ORIGINALCLASSNAME_FIELD_NUMBER = 3;
    private volatile java.lang.Object originalClassName_;
    /**
     * <code>required string originalClassName = 3;</code>
     * @return Whether the originalClassName field is set.
     */
    public boolean hasOriginalClassName() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>required string originalClassName = 3;</code>
     * @return The originalClassName.
     */
    public java.lang.String getOriginalClassName() {
      java.lang.Object ref = originalClassName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        akka.protobufv3.internal.ByteString bs = 
            (akka.protobufv3.internal.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          originalClassName_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string originalClassName = 3;</code>
     * @return The bytes for originalClassName.
     */
    public akka.protobufv3.internal.ByteString
        getOriginalClassNameBytes() {
      java.lang.Object ref = originalClassName_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        originalClassName_ = b;
        return b;
      } else {
        return (akka.protobufv3.internal.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      if (!hasMessage()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasOriginalMessage()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasOriginalClassName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 1, message_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 2, originalMessage_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 3, originalClassName_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(1, message_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(2, originalMessage_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(3, originalClassName_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ContainerFormats.ThrowableNotSerializable)) {
        return super.equals(obj);
      }
      akka.remote.ContainerFormats.ThrowableNotSerializable other = (akka.remote.ContainerFormats.ThrowableNotSerializable) obj;

      if (hasMessage() != other.hasMessage()) return false;
      if (hasMessage()) {
        if (!getMessage()
            .equals(other.getMessage())) return false;
      }
      if (hasOriginalMessage() != other.hasOriginalMessage()) return false;
      if (hasOriginalMessage()) {
        if (!getOriginalMessage()
            .equals(other.getOriginalMessage())) return false;
      }
      if (hasOriginalClassName() != other.hasOriginalClassName()) return false;
      if (hasOriginalClassName()) {
        if (!getOriginalClassName()
            .equals(other.getOriginalClassName())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasMessage()) {
        hash = (37 * hash) + MESSAGE_FIELD_NUMBER;
        hash = (53 * hash) + getMessage().hashCode();
      }
      if (hasOriginalMessage()) {
        hash = (37 * hash) + ORIGINALMESSAGE_FIELD_NUMBER;
        hash = (53 * hash) + getOriginalMessage().hashCode();
      }
      if (hasOriginalClassName()) {
        hash = (37 * hash) + ORIGINALCLASSNAME_FIELD_NUMBER;
        hash = (53 * hash) + getOriginalClassName().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ContainerFormats.ThrowableNotSerializable parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.ThrowableNotSerializable parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.ThrowableNotSerializable parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.ThrowableNotSerializable parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.ThrowableNotSerializable parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.ThrowableNotSerializable parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.ThrowableNotSerializable parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.ThrowableNotSerializable parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.ThrowableNotSerializable parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.ThrowableNotSerializable parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.ThrowableNotSerializable parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.ThrowableNotSerializable parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ContainerFormats.ThrowableNotSerializable prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code ThrowableNotSerializable}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:ThrowableNotSerializable)
        akka.remote.ContainerFormats.ThrowableNotSerializableOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ContainerFormats.internal_static_ThrowableNotSerializable_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ContainerFormats.internal_static_ThrowableNotSerializable_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ContainerFormats.ThrowableNotSerializable.class, akka.remote.ContainerFormats.ThrowableNotSerializable.Builder.class);
      }

      // Construct using akka.remote.ContainerFormats.ThrowableNotSerializable.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ContainerFormats.internal_static_ThrowableNotSerializable_descriptor;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.ThrowableNotSerializable getDefaultInstanceForType() {
        return akka.remote.ContainerFormats.ThrowableNotSerializable.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.ThrowableNotSerializable build() {
        akka.remote.ContainerFormats.ThrowableNotSerializable result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.ThrowableNotSerializable buildPartial() {
        akka.remote.ContainerFormats.ThrowableNotSerializable result = new akka.remote.ContainerFormats.ThrowableNotSerializable(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.message_ = message_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          to_bitField0_ |= 0x00000002;
        }
        result.originalMessage_ = originalMessage_;
        if (((from_bitField0_ & 0x00000004) != 0)) {
          to_bitField0_ |= 0x00000004;
        }
        result.originalClassName_ = originalClassName_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ContainerFormats.ThrowableNotSerializable) {
          return mergeFrom((akka.remote.ContainerFormats.ThrowableNotSerializable)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ContainerFormats.ThrowableNotSerializable other) {
        if (other == akka.remote.ContainerFormats.ThrowableNotSerializable.getDefaultInstance()) return this;
        if (other.hasMessage()) {
          bitField0_ |= 0x00000001;
          message_ = other.message_;
          onChanged();
        }
        if (other.hasOriginalMessage()) {
          bitField0_ |= 0x00000002;
          originalMessage_ = other.originalMessage_;
          onChanged();
        }
        if (other.hasOriginalClassName()) {
          bitField0_ |= 0x00000004;
          originalClassName_ = other.originalClassName_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private java.lang.Object message_ = "";
      /**
       * <code>required string message = 1;</code>
       * @return Whether the message field is set.
       */
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string message = 1;</code>
       * @return The message.
       */
      public java.lang.String getMessage() {
        java.lang.Object ref = message_;
        if (!(ref instanceof java.lang.String)) {
          akka.protobufv3.internal.ByteString bs =
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            message_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string message = 1;</code>
       * @return The bytes for message.
       */
      public akka.protobufv3.internal.ByteString
          getMessageBytes() {
        java.lang.Object ref = message_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          message_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string message = 1;</code>
       * @param value The message to set.
       * @return This builder for chaining.
       */
      public Builder setMessage(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        message_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string message = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearMessage() {
        bitField0_ = (bitField0_ & ~0x00000001);
        message_ = getDefaultInstance().getMessage();
        onChanged();
        return this;
      }
      /**
       * <code>required string message = 1;</code>
       * @param value The bytes for message to set.
       * @return This builder for chaining.
       */
      public Builder setMessageBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        message_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object originalMessage_ = "";
      /**
       * <code>required string originalMessage = 2;</code>
       * @return Whether the originalMessage field is set.
       */
      public boolean hasOriginalMessage() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string originalMessage = 2;</code>
       * @return The originalMessage.
       */
      public java.lang.String getOriginalMessage() {
        java.lang.Object ref = originalMessage_;
        if (!(ref instanceof java.lang.String)) {
          akka.protobufv3.internal.ByteString bs =
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            originalMessage_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string originalMessage = 2;</code>
       * @return The bytes for originalMessage.
       */
      public akka.protobufv3.internal.ByteString
          getOriginalMessageBytes() {
        java.lang.Object ref = originalMessage_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          originalMessage_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string originalMessage = 2;</code>
       * @param value The originalMessage to set.
       * @return This builder for chaining.
       */
      public Builder setOriginalMessage(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        originalMessage_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string originalMessage = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearOriginalMessage() {
        bitField0_ = (bitField0_ & ~0x00000002);
        originalMessage_ = getDefaultInstance().getOriginalMessage();
        onChanged();
        return this;
      }
      /**
       * <code>required string originalMessage = 2;</code>
       * @param value The bytes for originalMessage to set.
       * @return This builder for chaining.
       */
      public Builder setOriginalMessageBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        originalMessage_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object originalClassName_ = "";
      /**
       * <code>required string originalClassName = 3;</code>
       * @return Whether the originalClassName field is set.
       */
      public boolean hasOriginalClassName() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required string originalClassName = 3;</code>
       * @return The originalClassName.
       */
      public java.lang.String getOriginalClassName() {
        java.lang.Object ref = originalClassName_;
        if (!(ref instanceof java.lang.String)) {
          akka.protobufv3.internal.ByteString bs =
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            originalClassName_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string originalClassName = 3;</code>
       * @return The bytes for originalClassName.
       */
      public akka.protobufv3.internal.ByteString
          getOriginalClassNameBytes() {
        java.lang.Object ref = originalClassName_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          originalClassName_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string originalClassName = 3;</code>
       * @param value The originalClassName to set.
       * @return This builder for chaining.
       */
      public Builder setOriginalClassName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        originalClassName_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string originalClassName = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearOriginalClassName() {
        bitField0_ = (bitField0_ & ~0x00000004);
        originalClassName_ = getDefaultInstance().getOriginalClassName();
        onChanged();
        return this;
      }
      /**
       * <code>required string originalClassName = 3;</code>
       * @param value The bytes for originalClassName to set.
       * @return This builder for chaining.
       */
      public Builder setOriginalClassNameBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        originalClassName_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:ThrowableNotSerializable)
    }

    // @@protoc_insertion_point(class_scope:ThrowableNotSerializable)
    private static final akka.remote.ContainerFormats.ThrowableNotSerializable DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ContainerFormats.ThrowableNotSerializable();
    }

    public static akka.remote.ContainerFormats.ThrowableNotSerializable getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.remote.ContainerFormats.ThrowableNotSerializable getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ActorInitializationExceptionOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ActorInitializationException)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>optional .ActorRef actor = 1;</code>
     * @return Whether the actor field is set.
     */
    boolean hasActor();
    /**
     * <code>optional .ActorRef actor = 1;</code>
     * @return The actor.
     */
    akka.remote.ContainerFormats.ActorRef getActor();
    /**
     * <code>optional .ActorRef actor = 1;</code>
     */
    akka.remote.ContainerFormats.ActorRefOrBuilder getActorOrBuilder();

    /**
     * <code>required string message = 2;</code>
     * @return Whether the message field is set.
     */
    boolean hasMessage();
    /**
     * <code>required string message = 2;</code>
     * @return The message.
     */
    java.lang.String getMessage();
    /**
     * <code>required string message = 2;</code>
     * @return The bytes for message.
     */
    akka.protobufv3.internal.ByteString
        getMessageBytes();

    /**
     * <code>required .Payload cause = 3;</code>
     * @return Whether the cause field is set.
     */
    boolean hasCause();
    /**
     * <code>required .Payload cause = 3;</code>
     * @return The cause.
     */
    akka.remote.ContainerFormats.Payload getCause();
    /**
     * <code>required .Payload cause = 3;</code>
     */
    akka.remote.ContainerFormats.PayloadOrBuilder getCauseOrBuilder();
  }
  /**
   * Protobuf type {@code ActorInitializationException}
   */
  public  static final class ActorInitializationException extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:ActorInitializationException)
      ActorInitializationExceptionOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ActorInitializationException.newBuilder() to construct.
    private ActorInitializationException(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ActorInitializationException() {
      message_ = "";
    }

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

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ActorInitializationException(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.remote.ContainerFormats.ActorRef.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = actor_.toBuilder();
              }
              actor_ = input.readMessage(akka.remote.ContainerFormats.ActorRef.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(actor_);
                actor_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              message_ = bs;
              break;
            }
            case 26: {
              akka.remote.ContainerFormats.Payload.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) != 0)) {
                subBuilder = cause_.toBuilder();
              }
              cause_ = input.readMessage(akka.remote.ContainerFormats.Payload.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(cause_);
                cause_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.ContainerFormats.internal_static_ActorInitializationException_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ContainerFormats.internal_static_ActorInitializationException_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ContainerFormats.ActorInitializationException.class, akka.remote.ContainerFormats.ActorInitializationException.Builder.class);
    }

    private int bitField0_;
    public static final int ACTOR_FIELD_NUMBER = 1;
    private akka.remote.ContainerFormats.ActorRef actor_;
    /**
     * <code>optional .ActorRef actor = 1;</code>
     * @return Whether the actor field is set.
     */
    public boolean hasActor() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional .ActorRef actor = 1;</code>
     * @return The actor.
     */
    public akka.remote.ContainerFormats.ActorRef getActor() {
      return actor_ == null ? akka.remote.ContainerFormats.ActorRef.getDefaultInstance() : actor_;
    }
    /**
     * <code>optional .ActorRef actor = 1;</code>
     */
    public akka.remote.ContainerFormats.ActorRefOrBuilder getActorOrBuilder() {
      return actor_ == null ? akka.remote.ContainerFormats.ActorRef.getDefaultInstance() : actor_;
    }

    public static final int MESSAGE_FIELD_NUMBER = 2;
    private volatile java.lang.Object message_;
    /**
     * <code>required string message = 2;</code>
     * @return Whether the message field is set.
     */
    public boolean hasMessage() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required string message = 2;</code>
     * @return The message.
     */
    public java.lang.String getMessage() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        akka.protobufv3.internal.ByteString bs = 
            (akka.protobufv3.internal.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          message_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string message = 2;</code>
     * @return The bytes for message.
     */
    public akka.protobufv3.internal.ByteString
        getMessageBytes() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        message_ = b;
        return b;
      } else {
        return (akka.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int CAUSE_FIELD_NUMBER = 3;
    private akka.remote.ContainerFormats.Payload cause_;
    /**
     * <code>required .Payload cause = 3;</code>
     * @return Whether the cause field is set.
     */
    public boolean hasCause() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>required .Payload cause = 3;</code>
     * @return The cause.
     */
    public akka.remote.ContainerFormats.Payload getCause() {
      return cause_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : cause_;
    }
    /**
     * <code>required .Payload cause = 3;</code>
     */
    public akka.remote.ContainerFormats.PayloadOrBuilder getCauseOrBuilder() {
      return cause_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : cause_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      if (!hasMessage()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasCause()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (hasActor()) {
        if (!getActor().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (!getCause().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getActor());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 2, message_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeMessage(3, getCause());
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(1, getActor());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(2, message_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(3, getCause());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ContainerFormats.ActorInitializationException)) {
        return super.equals(obj);
      }
      akka.remote.ContainerFormats.ActorInitializationException other = (akka.remote.ContainerFormats.ActorInitializationException) obj;

      if (hasActor() != other.hasActor()) return false;
      if (hasActor()) {
        if (!getActor()
            .equals(other.getActor())) return false;
      }
      if (hasMessage() != other.hasMessage()) return false;
      if (hasMessage()) {
        if (!getMessage()
            .equals(other.getMessage())) return false;
      }
      if (hasCause() != other.hasCause()) return false;
      if (hasCause()) {
        if (!getCause()
            .equals(other.getCause())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasActor()) {
        hash = (37 * hash) + ACTOR_FIELD_NUMBER;
        hash = (53 * hash) + getActor().hashCode();
      }
      if (hasMessage()) {
        hash = (37 * hash) + MESSAGE_FIELD_NUMBER;
        hash = (53 * hash) + getMessage().hashCode();
      }
      if (hasCause()) {
        hash = (37 * hash) + CAUSE_FIELD_NUMBER;
        hash = (53 * hash) + getCause().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ContainerFormats.ActorInitializationException parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.ActorInitializationException parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.ActorInitializationException parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.ActorInitializationException parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.ActorInitializationException parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.ActorInitializationException parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.ActorInitializationException parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.ActorInitializationException parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.ActorInitializationException parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.ActorInitializationException parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.ActorInitializationException parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.ActorInitializationException parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ContainerFormats.ActorInitializationException prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code ActorInitializationException}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:ActorInitializationException)
        akka.remote.ContainerFormats.ActorInitializationExceptionOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ContainerFormats.internal_static_ActorInitializationException_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ContainerFormats.internal_static_ActorInitializationException_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ContainerFormats.ActorInitializationException.class, akka.remote.ContainerFormats.ActorInitializationException.Builder.class);
      }

      // Construct using akka.remote.ContainerFormats.ActorInitializationException.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getActorFieldBuilder();
          getCauseFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (actorBuilder_ == null) {
          actor_ = null;
        } else {
          actorBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        message_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        if (causeBuilder_ == null) {
          cause_ = null;
        } else {
          causeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ContainerFormats.internal_static_ActorInitializationException_descriptor;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.ActorInitializationException getDefaultInstanceForType() {
        return akka.remote.ContainerFormats.ActorInitializationException.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.ActorInitializationException build() {
        akka.remote.ContainerFormats.ActorInitializationException result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.ActorInitializationException buildPartial() {
        akka.remote.ContainerFormats.ActorInitializationException result = new akka.remote.ContainerFormats.ActorInitializationException(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (actorBuilder_ == null) {
            result.actor_ = actor_;
          } else {
            result.actor_ = actorBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          to_bitField0_ |= 0x00000002;
        }
        result.message_ = message_;
        if (((from_bitField0_ & 0x00000004) != 0)) {
          if (causeBuilder_ == null) {
            result.cause_ = cause_;
          } else {
            result.cause_ = causeBuilder_.build();
          }
          to_bitField0_ |= 0x00000004;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ContainerFormats.ActorInitializationException) {
          return mergeFrom((akka.remote.ContainerFormats.ActorInitializationException)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ContainerFormats.ActorInitializationException other) {
        if (other == akka.remote.ContainerFormats.ActorInitializationException.getDefaultInstance()) return this;
        if (other.hasActor()) {
          mergeActor(other.getActor());
        }
        if (other.hasMessage()) {
          bitField0_ |= 0x00000002;
          message_ = other.message_;
          onChanged();
        }
        if (other.hasCause()) {
          mergeCause(other.getCause());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasMessage()) {
          return false;
        }
        if (!hasCause()) {
          return false;
        }
        if (hasActor()) {
          if (!getActor().isInitialized()) {
            return false;
          }
        }
        if (!getCause().isInitialized()) {
          return false;
        }
        return true;
      }

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

      private akka.remote.ContainerFormats.ActorRef actor_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ContainerFormats.ActorRef, akka.remote.ContainerFormats.ActorRef.Builder, akka.remote.ContainerFormats.ActorRefOrBuilder> actorBuilder_;
      /**
       * <code>optional .ActorRef actor = 1;</code>
       * @return Whether the actor field is set.
       */
      public boolean hasActor() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>optional .ActorRef actor = 1;</code>
       * @return The actor.
       */
      public akka.remote.ContainerFormats.ActorRef getActor() {
        if (actorBuilder_ == null) {
          return actor_ == null ? akka.remote.ContainerFormats.ActorRef.getDefaultInstance() : actor_;
        } else {
          return actorBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .ActorRef actor = 1;</code>
       */
      public Builder setActor(akka.remote.ContainerFormats.ActorRef value) {
        if (actorBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          actor_ = value;
          onChanged();
        } else {
          actorBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .ActorRef actor = 1;</code>
       */
      public Builder setActor(
          akka.remote.ContainerFormats.ActorRef.Builder builderForValue) {
        if (actorBuilder_ == null) {
          actor_ = builderForValue.build();
          onChanged();
        } else {
          actorBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .ActorRef actor = 1;</code>
       */
      public Builder mergeActor(akka.remote.ContainerFormats.ActorRef value) {
        if (actorBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              actor_ != null &&
              actor_ != akka.remote.ContainerFormats.ActorRef.getDefaultInstance()) {
            actor_ =
              akka.remote.ContainerFormats.ActorRef.newBuilder(actor_).mergeFrom(value).buildPartial();
          } else {
            actor_ = value;
          }
          onChanged();
        } else {
          actorBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .ActorRef actor = 1;</code>
       */
      public Builder clearActor() {
        if (actorBuilder_ == null) {
          actor_ = null;
          onChanged();
        } else {
          actorBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>optional .ActorRef actor = 1;</code>
       */
      public akka.remote.ContainerFormats.ActorRef.Builder getActorBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getActorFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .ActorRef actor = 1;</code>
       */
      public akka.remote.ContainerFormats.ActorRefOrBuilder getActorOrBuilder() {
        if (actorBuilder_ != null) {
          return actorBuilder_.getMessageOrBuilder();
        } else {
          return actor_ == null ?
              akka.remote.ContainerFormats.ActorRef.getDefaultInstance() : actor_;
        }
      }
      /**
       * <code>optional .ActorRef actor = 1;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ContainerFormats.ActorRef, akka.remote.ContainerFormats.ActorRef.Builder, akka.remote.ContainerFormats.ActorRefOrBuilder> 
          getActorFieldBuilder() {
        if (actorBuilder_ == null) {
          actorBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.remote.ContainerFormats.ActorRef, akka.remote.ContainerFormats.ActorRef.Builder, akka.remote.ContainerFormats.ActorRefOrBuilder>(
                  getActor(),
                  getParentForChildren(),
                  isClean());
          actor_ = null;
        }
        return actorBuilder_;
      }

      private java.lang.Object message_ = "";
      /**
       * <code>required string message = 2;</code>
       * @return Whether the message field is set.
       */
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string message = 2;</code>
       * @return The message.
       */
      public java.lang.String getMessage() {
        java.lang.Object ref = message_;
        if (!(ref instanceof java.lang.String)) {
          akka.protobufv3.internal.ByteString bs =
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            message_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string message = 2;</code>
       * @return The bytes for message.
       */
      public akka.protobufv3.internal.ByteString
          getMessageBytes() {
        java.lang.Object ref = message_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          message_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string message = 2;</code>
       * @param value The message to set.
       * @return This builder for chaining.
       */
      public Builder setMessage(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        message_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string message = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearMessage() {
        bitField0_ = (bitField0_ & ~0x00000002);
        message_ = getDefaultInstance().getMessage();
        onChanged();
        return this;
      }
      /**
       * <code>required string message = 2;</code>
       * @param value The bytes for message to set.
       * @return This builder for chaining.
       */
      public Builder setMessageBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        message_ = value;
        onChanged();
        return this;
      }

      private akka.remote.ContainerFormats.Payload cause_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder> causeBuilder_;
      /**
       * <code>required .Payload cause = 3;</code>
       * @return Whether the cause field is set.
       */
      public boolean hasCause() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required .Payload cause = 3;</code>
       * @return The cause.
       */
      public akka.remote.ContainerFormats.Payload getCause() {
        if (causeBuilder_ == null) {
          return cause_ == null ? akka.remote.ContainerFormats.Payload.getDefaultInstance() : cause_;
        } else {
          return causeBuilder_.getMessage();
        }
      }
      /**
       * <code>required .Payload cause = 3;</code>
       */
      public Builder setCause(akka.remote.ContainerFormats.Payload value) {
        if (causeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          cause_ = value;
          onChanged();
        } else {
          causeBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>required .Payload cause = 3;</code>
       */
      public Builder setCause(
          akka.remote.ContainerFormats.Payload.Builder builderForValue) {
        if (causeBuilder_ == null) {
          cause_ = builderForValue.build();
          onChanged();
        } else {
          causeBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>required .Payload cause = 3;</code>
       */
      public Builder mergeCause(akka.remote.ContainerFormats.Payload value) {
        if (causeBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0) &&
              cause_ != null &&
              cause_ != akka.remote.ContainerFormats.Payload.getDefaultInstance()) {
            cause_ =
              akka.remote.ContainerFormats.Payload.newBuilder(cause_).mergeFrom(value).buildPartial();
          } else {
            cause_ = value;
          }
          onChanged();
        } else {
          causeBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <code>required .Payload cause = 3;</code>
       */
      public Builder clearCause() {
        if (causeBuilder_ == null) {
          cause_ = null;
          onChanged();
        } else {
          causeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * <code>required .Payload cause = 3;</code>
       */
      public akka.remote.ContainerFormats.Payload.Builder getCauseBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getCauseFieldBuilder().getBuilder();
      }
      /**
       * <code>required .Payload cause = 3;</code>
       */
      public akka.remote.ContainerFormats.PayloadOrBuilder getCauseOrBuilder() {
        if (causeBuilder_ != null) {
          return causeBuilder_.getMessageOrBuilder();
        } else {
          return cause_ == null ?
              akka.remote.ContainerFormats.Payload.getDefaultInstance() : cause_;
        }
      }
      /**
       * <code>required .Payload cause = 3;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder> 
          getCauseFieldBuilder() {
        if (causeBuilder_ == null) {
          causeBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.remote.ContainerFormats.Payload, akka.remote.ContainerFormats.Payload.Builder, akka.remote.ContainerFormats.PayloadOrBuilder>(
                  getCause(),
                  getParentForChildren(),
                  isClean());
          cause_ = null;
        }
        return causeBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:ActorInitializationException)
    }

    // @@protoc_insertion_point(class_scope:ActorInitializationException)
    private static final akka.remote.ContainerFormats.ActorInitializationException DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ContainerFormats.ActorInitializationException();
    }

    public static akka.remote.ContainerFormats.ActorInitializationException getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.remote.ContainerFormats.ActorInitializationException getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface StackTraceElementOrBuilder extends
      // @@protoc_insertion_point(interface_extends:StackTraceElement)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required string className = 1;</code>
     * @return Whether the className field is set.
     */
    boolean hasClassName();
    /**
     * <code>required string className = 1;</code>
     * @return The className.
     */
    java.lang.String getClassName();
    /**
     * <code>required string className = 1;</code>
     * @return The bytes for className.
     */
    akka.protobufv3.internal.ByteString
        getClassNameBytes();

    /**
     * <code>required string methodName = 2;</code>
     * @return Whether the methodName field is set.
     */
    boolean hasMethodName();
    /**
     * <code>required string methodName = 2;</code>
     * @return The methodName.
     */
    java.lang.String getMethodName();
    /**
     * <code>required string methodName = 2;</code>
     * @return The bytes for methodName.
     */
    akka.protobufv3.internal.ByteString
        getMethodNameBytes();

    /**
     * <code>required string fileName = 3;</code>
     * @return Whether the fileName field is set.
     */
    boolean hasFileName();
    /**
     * <code>required string fileName = 3;</code>
     * @return The fileName.
     */
    java.lang.String getFileName();
    /**
     * <code>required string fileName = 3;</code>
     * @return The bytes for fileName.
     */
    akka.protobufv3.internal.ByteString
        getFileNameBytes();

    /**
     * <code>required int32 lineNumber = 4;</code>
     * @return Whether the lineNumber field is set.
     */
    boolean hasLineNumber();
    /**
     * <code>required int32 lineNumber = 4;</code>
     * @return The lineNumber.
     */
    int getLineNumber();
  }
  /**
   * Protobuf type {@code StackTraceElement}
   */
  public  static final class StackTraceElement extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:StackTraceElement)
      StackTraceElementOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use StackTraceElement.newBuilder() to construct.
    private StackTraceElement(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private StackTraceElement() {
      className_ = "";
      methodName_ = "";
      fileName_ = "";
    }

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

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private StackTraceElement(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              className_ = bs;
              break;
            }
            case 18: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              methodName_ = bs;
              break;
            }
            case 26: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000004;
              fileName_ = bs;
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              lineNumber_ = input.readInt32();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.ContainerFormats.internal_static_StackTraceElement_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ContainerFormats.internal_static_StackTraceElement_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ContainerFormats.StackTraceElement.class, akka.remote.ContainerFormats.StackTraceElement.Builder.class);
    }

    private int bitField0_;
    public static final int CLASSNAME_FIELD_NUMBER = 1;
    private volatile java.lang.Object className_;
    /**
     * <code>required string className = 1;</code>
     * @return Whether the className field is set.
     */
    public boolean hasClassName() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string className = 1;</code>
     * @return The className.
     */
    public java.lang.String getClassName() {
      java.lang.Object ref = className_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        akka.protobufv3.internal.ByteString bs = 
            (akka.protobufv3.internal.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          className_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string className = 1;</code>
     * @return The bytes for className.
     */
    public akka.protobufv3.internal.ByteString
        getClassNameBytes() {
      java.lang.Object ref = className_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        className_ = b;
        return b;
      } else {
        return (akka.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int METHODNAME_FIELD_NUMBER = 2;
    private volatile java.lang.Object methodName_;
    /**
     * <code>required string methodName = 2;</code>
     * @return Whether the methodName field is set.
     */
    public boolean hasMethodName() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required string methodName = 2;</code>
     * @return The methodName.
     */
    public java.lang.String getMethodName() {
      java.lang.Object ref = methodName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        akka.protobufv3.internal.ByteString bs = 
            (akka.protobufv3.internal.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          methodName_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string methodName = 2;</code>
     * @return The bytes for methodName.
     */
    public akka.protobufv3.internal.ByteString
        getMethodNameBytes() {
      java.lang.Object ref = methodName_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        methodName_ = b;
        return b;
      } else {
        return (akka.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int FILENAME_FIELD_NUMBER = 3;
    private volatile java.lang.Object fileName_;
    /**
     * <code>required string fileName = 3;</code>
     * @return Whether the fileName field is set.
     */
    public boolean hasFileName() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>required string fileName = 3;</code>
     * @return The fileName.
     */
    public java.lang.String getFileName() {
      java.lang.Object ref = fileName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        akka.protobufv3.internal.ByteString bs = 
            (akka.protobufv3.internal.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          fileName_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string fileName = 3;</code>
     * @return The bytes for fileName.
     */
    public akka.protobufv3.internal.ByteString
        getFileNameBytes() {
      java.lang.Object ref = fileName_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        fileName_ = b;
        return b;
      } else {
        return (akka.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int LINENUMBER_FIELD_NUMBER = 4;
    private int lineNumber_;
    /**
     * <code>required int32 lineNumber = 4;</code>
     * @return Whether the lineNumber field is set.
     */
    public boolean hasLineNumber() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>required int32 lineNumber = 4;</code>
     * @return The lineNumber.
     */
    public int getLineNumber() {
      return lineNumber_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      if (!hasClassName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasMethodName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasFileName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasLineNumber()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 1, className_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 2, methodName_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 3, fileName_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeInt32(4, lineNumber_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(1, className_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(2, methodName_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(3, fileName_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeInt32Size(4, lineNumber_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ContainerFormats.StackTraceElement)) {
        return super.equals(obj);
      }
      akka.remote.ContainerFormats.StackTraceElement other = (akka.remote.ContainerFormats.StackTraceElement) obj;

      if (hasClassName() != other.hasClassName()) return false;
      if (hasClassName()) {
        if (!getClassName()
            .equals(other.getClassName())) return false;
      }
      if (hasMethodName() != other.hasMethodName()) return false;
      if (hasMethodName()) {
        if (!getMethodName()
            .equals(other.getMethodName())) return false;
      }
      if (hasFileName() != other.hasFileName()) return false;
      if (hasFileName()) {
        if (!getFileName()
            .equals(other.getFileName())) return false;
      }
      if (hasLineNumber() != other.hasLineNumber()) return false;
      if (hasLineNumber()) {
        if (getLineNumber()
            != other.getLineNumber()) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasClassName()) {
        hash = (37 * hash) + CLASSNAME_FIELD_NUMBER;
        hash = (53 * hash) + getClassName().hashCode();
      }
      if (hasMethodName()) {
        hash = (37 * hash) + METHODNAME_FIELD_NUMBER;
        hash = (53 * hash) + getMethodName().hashCode();
      }
      if (hasFileName()) {
        hash = (37 * hash) + FILENAME_FIELD_NUMBER;
        hash = (53 * hash) + getFileName().hashCode();
      }
      if (hasLineNumber()) {
        hash = (37 * hash) + LINENUMBER_FIELD_NUMBER;
        hash = (53 * hash) + getLineNumber();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ContainerFormats.StackTraceElement parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.StackTraceElement parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.StackTraceElement parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.StackTraceElement parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.StackTraceElement parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.StackTraceElement parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.StackTraceElement parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.StackTraceElement parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.StackTraceElement parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.StackTraceElement parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.StackTraceElement parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.StackTraceElement parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ContainerFormats.StackTraceElement prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code StackTraceElement}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:StackTraceElement)
        akka.remote.ContainerFormats.StackTraceElementOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ContainerFormats.internal_static_StackTraceElement_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ContainerFormats.internal_static_StackTraceElement_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ContainerFormats.StackTraceElement.class, akka.remote.ContainerFormats.StackTraceElement.Builder.class);
      }

      // Construct using akka.remote.ContainerFormats.StackTraceElement.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        className_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        methodName_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        fileName_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        lineNumber_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ContainerFormats.internal_static_StackTraceElement_descriptor;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.StackTraceElement getDefaultInstanceForType() {
        return akka.remote.ContainerFormats.StackTraceElement.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.StackTraceElement build() {
        akka.remote.ContainerFormats.StackTraceElement result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.StackTraceElement buildPartial() {
        akka.remote.ContainerFormats.StackTraceElement result = new akka.remote.ContainerFormats.StackTraceElement(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.className_ = className_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          to_bitField0_ |= 0x00000002;
        }
        result.methodName_ = methodName_;
        if (((from_bitField0_ & 0x00000004) != 0)) {
          to_bitField0_ |= 0x00000004;
        }
        result.fileName_ = fileName_;
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.lineNumber_ = lineNumber_;
          to_bitField0_ |= 0x00000008;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ContainerFormats.StackTraceElement) {
          return mergeFrom((akka.remote.ContainerFormats.StackTraceElement)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ContainerFormats.StackTraceElement other) {
        if (other == akka.remote.ContainerFormats.StackTraceElement.getDefaultInstance()) return this;
        if (other.hasClassName()) {
          bitField0_ |= 0x00000001;
          className_ = other.className_;
          onChanged();
        }
        if (other.hasMethodName()) {
          bitField0_ |= 0x00000002;
          methodName_ = other.methodName_;
          onChanged();
        }
        if (other.hasFileName()) {
          bitField0_ |= 0x00000004;
          fileName_ = other.fileName_;
          onChanged();
        }
        if (other.hasLineNumber()) {
          setLineNumber(other.getLineNumber());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasClassName()) {
          return false;
        }
        if (!hasMethodName()) {
          return false;
        }
        if (!hasFileName()) {
          return false;
        }
        if (!hasLineNumber()) {
          return false;
        }
        return true;
      }

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

      private java.lang.Object className_ = "";
      /**
       * <code>required string className = 1;</code>
       * @return Whether the className field is set.
       */
      public boolean hasClassName() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string className = 1;</code>
       * @return The className.
       */
      public java.lang.String getClassName() {
        java.lang.Object ref = className_;
        if (!(ref instanceof java.lang.String)) {
          akka.protobufv3.internal.ByteString bs =
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            className_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string className = 1;</code>
       * @return The bytes for className.
       */
      public akka.protobufv3.internal.ByteString
          getClassNameBytes() {
        java.lang.Object ref = className_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          className_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string className = 1;</code>
       * @param value The className to set.
       * @return This builder for chaining.
       */
      public Builder setClassName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        className_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string className = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearClassName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        className_ = getDefaultInstance().getClassName();
        onChanged();
        return this;
      }
      /**
       * <code>required string className = 1;</code>
       * @param value The bytes for className to set.
       * @return This builder for chaining.
       */
      public Builder setClassNameBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        className_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object methodName_ = "";
      /**
       * <code>required string methodName = 2;</code>
       * @return Whether the methodName field is set.
       */
      public boolean hasMethodName() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string methodName = 2;</code>
       * @return The methodName.
       */
      public java.lang.String getMethodName() {
        java.lang.Object ref = methodName_;
        if (!(ref instanceof java.lang.String)) {
          akka.protobufv3.internal.ByteString bs =
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            methodName_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string methodName = 2;</code>
       * @return The bytes for methodName.
       */
      public akka.protobufv3.internal.ByteString
          getMethodNameBytes() {
        java.lang.Object ref = methodName_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          methodName_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string methodName = 2;</code>
       * @param value The methodName to set.
       * @return This builder for chaining.
       */
      public Builder setMethodName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        methodName_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string methodName = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearMethodName() {
        bitField0_ = (bitField0_ & ~0x00000002);
        methodName_ = getDefaultInstance().getMethodName();
        onChanged();
        return this;
      }
      /**
       * <code>required string methodName = 2;</code>
       * @param value The bytes for methodName to set.
       * @return This builder for chaining.
       */
      public Builder setMethodNameBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        methodName_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object fileName_ = "";
      /**
       * <code>required string fileName = 3;</code>
       * @return Whether the fileName field is set.
       */
      public boolean hasFileName() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required string fileName = 3;</code>
       * @return The fileName.
       */
      public java.lang.String getFileName() {
        java.lang.Object ref = fileName_;
        if (!(ref instanceof java.lang.String)) {
          akka.protobufv3.internal.ByteString bs =
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            fileName_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string fileName = 3;</code>
       * @return The bytes for fileName.
       */
      public akka.protobufv3.internal.ByteString
          getFileNameBytes() {
        java.lang.Object ref = fileName_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          fileName_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string fileName = 3;</code>
       * @param value The fileName to set.
       * @return This builder for chaining.
       */
      public Builder setFileName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        fileName_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string fileName = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearFileName() {
        bitField0_ = (bitField0_ & ~0x00000004);
        fileName_ = getDefaultInstance().getFileName();
        onChanged();
        return this;
      }
      /**
       * <code>required string fileName = 3;</code>
       * @param value The bytes for fileName to set.
       * @return This builder for chaining.
       */
      public Builder setFileNameBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        fileName_ = value;
        onChanged();
        return this;
      }

      private int lineNumber_ ;
      /**
       * <code>required int32 lineNumber = 4;</code>
       * @return Whether the lineNumber field is set.
       */
      public boolean hasLineNumber() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>required int32 lineNumber = 4;</code>
       * @return The lineNumber.
       */
      public int getLineNumber() {
        return lineNumber_;
      }
      /**
       * <code>required int32 lineNumber = 4;</code>
       * @param value The lineNumber to set.
       * @return This builder for chaining.
       */
      public Builder setLineNumber(int value) {
        bitField0_ |= 0x00000008;
        lineNumber_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required int32 lineNumber = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearLineNumber() {
        bitField0_ = (bitField0_ & ~0x00000008);
        lineNumber_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:StackTraceElement)
    }

    // @@protoc_insertion_point(class_scope:StackTraceElement)
    private static final akka.remote.ContainerFormats.StackTraceElement DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ContainerFormats.StackTraceElement();
    }

    public static akka.remote.ContainerFormats.StackTraceElement getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.remote.ContainerFormats.StackTraceElement getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface StatusReplyErrorMessageOrBuilder extends
      // @@protoc_insertion_point(interface_extends:StatusReplyErrorMessage)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required string errorMessage = 1;</code>
     * @return Whether the errorMessage field is set.
     */
    boolean hasErrorMessage();
    /**
     * <code>required string errorMessage = 1;</code>
     * @return The errorMessage.
     */
    java.lang.String getErrorMessage();
    /**
     * <code>required string errorMessage = 1;</code>
     * @return The bytes for errorMessage.
     */
    akka.protobufv3.internal.ByteString
        getErrorMessageBytes();
  }
  /**
   * <pre>
   * ReplyWith pattern message(s)
   * </pre>
   *
   * Protobuf type {@code StatusReplyErrorMessage}
   */
  public  static final class StatusReplyErrorMessage extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:StatusReplyErrorMessage)
      StatusReplyErrorMessageOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use StatusReplyErrorMessage.newBuilder() to construct.
    private StatusReplyErrorMessage(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private StatusReplyErrorMessage() {
      errorMessage_ = "";
    }

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

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private StatusReplyErrorMessage(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              errorMessage_ = bs;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.ContainerFormats.internal_static_StatusReplyErrorMessage_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ContainerFormats.internal_static_StatusReplyErrorMessage_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ContainerFormats.StatusReplyErrorMessage.class, akka.remote.ContainerFormats.StatusReplyErrorMessage.Builder.class);
    }

    private int bitField0_;
    public static final int ERRORMESSAGE_FIELD_NUMBER = 1;
    private volatile java.lang.Object errorMessage_;
    /**
     * <code>required string errorMessage = 1;</code>
     * @return Whether the errorMessage field is set.
     */
    public boolean hasErrorMessage() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string errorMessage = 1;</code>
     * @return The errorMessage.
     */
    public java.lang.String getErrorMessage() {
      java.lang.Object ref = errorMessage_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        akka.protobufv3.internal.ByteString bs = 
            (akka.protobufv3.internal.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          errorMessage_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string errorMessage = 1;</code>
     * @return The bytes for errorMessage.
     */
    public akka.protobufv3.internal.ByteString
        getErrorMessageBytes() {
      java.lang.Object ref = errorMessage_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        errorMessage_ = b;
        return b;
      } else {
        return (akka.protobufv3.internal.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

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

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 1, errorMessage_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(1, errorMessage_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ContainerFormats.StatusReplyErrorMessage)) {
        return super.equals(obj);
      }
      akka.remote.ContainerFormats.StatusReplyErrorMessage other = (akka.remote.ContainerFormats.StatusReplyErrorMessage) obj;

      if (hasErrorMessage() != other.hasErrorMessage()) return false;
      if (hasErrorMessage()) {
        if (!getErrorMessage()
            .equals(other.getErrorMessage())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasErrorMessage()) {
        hash = (37 * hash) + ERRORMESSAGE_FIELD_NUMBER;
        hash = (53 * hash) + getErrorMessage().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ContainerFormats.StatusReplyErrorMessage parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.StatusReplyErrorMessage parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.StatusReplyErrorMessage parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.StatusReplyErrorMessage parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.StatusReplyErrorMessage parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ContainerFormats.StatusReplyErrorMessage parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.StatusReplyErrorMessage parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.StatusReplyErrorMessage parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.StatusReplyErrorMessage parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.StatusReplyErrorMessage parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ContainerFormats.StatusReplyErrorMessage parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ContainerFormats.StatusReplyErrorMessage parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ContainerFormats.StatusReplyErrorMessage prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * ReplyWith pattern message(s)
     * </pre>
     *
     * Protobuf type {@code StatusReplyErrorMessage}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:StatusReplyErrorMessage)
        akka.remote.ContainerFormats.StatusReplyErrorMessageOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ContainerFormats.internal_static_StatusReplyErrorMessage_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ContainerFormats.internal_static_StatusReplyErrorMessage_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ContainerFormats.StatusReplyErrorMessage.class, akka.remote.ContainerFormats.StatusReplyErrorMessage.Builder.class);
      }

      // Construct using akka.remote.ContainerFormats.StatusReplyErrorMessage.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ContainerFormats.internal_static_StatusReplyErrorMessage_descriptor;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.StatusReplyErrorMessage getDefaultInstanceForType() {
        return akka.remote.ContainerFormats.StatusReplyErrorMessage.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.StatusReplyErrorMessage build() {
        akka.remote.ContainerFormats.StatusReplyErrorMessage result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ContainerFormats.StatusReplyErrorMessage buildPartial() {
        akka.remote.ContainerFormats.StatusReplyErrorMessage result = new akka.remote.ContainerFormats.StatusReplyErrorMessage(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.errorMessage_ = errorMessage_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ContainerFormats.StatusReplyErrorMessage) {
          return mergeFrom((akka.remote.ContainerFormats.StatusReplyErrorMessage)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ContainerFormats.StatusReplyErrorMessage other) {
        if (other == akka.remote.ContainerFormats.StatusReplyErrorMessage.getDefaultInstance()) return this;
        if (other.hasErrorMessage()) {
          bitField0_ |= 0x00000001;
          errorMessage_ = other.errorMessage_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private java.lang.Object errorMessage_ = "";
      /**
       * <code>required string errorMessage = 1;</code>
       * @return Whether the errorMessage field is set.
       */
      public boolean hasErrorMessage() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string errorMessage = 1;</code>
       * @return The errorMessage.
       */
      public java.lang.String getErrorMessage() {
        java.lang.Object ref = errorMessage_;
        if (!(ref instanceof java.lang.String)) {
          akka.protobufv3.internal.ByteString bs =
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            errorMessage_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string errorMessage = 1;</code>
       * @return The bytes for errorMessage.
       */
      public akka.protobufv3.internal.ByteString
          getErrorMessageBytes() {
        java.lang.Object ref = errorMessage_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          errorMessage_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string errorMessage = 1;</code>
       * @param value The errorMessage to set.
       * @return This builder for chaining.
       */
      public Builder setErrorMessage(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        errorMessage_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string errorMessage = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearErrorMessage() {
        bitField0_ = (bitField0_ & ~0x00000001);
        errorMessage_ = getDefaultInstance().getErrorMessage();
        onChanged();
        return this;
      }
      /**
       * <code>required string errorMessage = 1;</code>
       * @param value The bytes for errorMessage to set.
       * @return This builder for chaining.
       */
      public Builder setErrorMessageBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        errorMessage_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:StatusReplyErrorMessage)
    }

    // @@protoc_insertion_point(class_scope:StatusReplyErrorMessage)
    private static final akka.remote.ContainerFormats.StatusReplyErrorMessage DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ContainerFormats.StatusReplyErrorMessage();
    }

    public static akka.remote.ContainerFormats.StatusReplyErrorMessage getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public akka.remote.ContainerFormats.StatusReplyErrorMessage getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_SelectionEnvelope_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_SelectionEnvelope_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_Selection_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_Selection_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_Identify_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_Identify_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_ActorIdentity_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_ActorIdentity_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_ActorRef_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_ActorRef_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_Option_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_Option_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_Payload_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_Payload_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_WatcherHeartbeatResponse_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_WatcherHeartbeatResponse_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_Throwable_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_Throwable_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_ThrowableNotSerializable_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_ThrowableNotSerializable_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_ActorInitializationException_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_ActorInitializationException_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_StackTraceElement_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_StackTraceElement_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_StatusReplyErrorMessage_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_StatusReplyErrorMessage_fieldAccessorTable;

  public static akka.protobufv3.internal.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  akka.protobufv3.internal.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\026ContainerFormats.proto\"\220\001\n\021SelectionEn" +
      "velope\022\027\n\017enclosedMessage\030\001 \002(\014\022\024\n\014seria" +
      "lizerId\030\002 \002(\005\022\033\n\007pattern\030\003 \003(\0132\n.Selecti" +
      "on\022\027\n\017messageManifest\030\004 \001(\014\022\026\n\016wildcardF" +
      "anOut\030\005 \001(\010\"8\n\tSelection\022\032\n\004type\030\001 \002(\0162\014" +
      ".PatternType\022\017\n\007matcher\030\002 \001(\t\"\'\n\010Identif" +
      "y\022\033\n\tmessageId\030\001 \002(\0132\010.Payload\"H\n\rActorI" +
      "dentity\022\037\n\rcorrelationId\030\001 \002(\0132\010.Payload" +
      "\022\026\n\003ref\030\002 \001(\0132\t.ActorRef\"\030\n\010ActorRef\022\014\n\004" +
      "path\030\001 \002(\t\"!\n\006Option\022\027\n\005value\030\001 \001(\0132\010.Pa" +
      "yload\"Q\n\007Payload\022\027\n\017enclosedMessage\030\001 \002(" +
      "\014\022\024\n\014serializerId\030\002 \002(\005\022\027\n\017messageManife" +
      "st\030\004 \001(\014\"\'\n\030WatcherHeartbeatResponse\022\013\n\003" +
      "uid\030\001 \002(\004\"p\n\tThrowable\022\021\n\tclassName\030\001 \002(" +
      "\t\022\017\n\007message\030\002 \001(\t\022\027\n\005cause\030\003 \001(\0132\010.Payl" +
      "oad\022&\n\nstackTrace\030\004 \003(\0132\022.StackTraceElem" +
      "ent\"_\n\030ThrowableNotSerializable\022\017\n\007messa" +
      "ge\030\001 \002(\t\022\027\n\017originalMessage\030\002 \002(\t\022\031\n\021ori" +
      "ginalClassName\030\003 \002(\t\"b\n\034ActorInitializat" +
      "ionException\022\030\n\005actor\030\001 \001(\0132\t.ActorRef\022\017" +
      "\n\007message\030\002 \002(\t\022\027\n\005cause\030\003 \002(\0132\010.Payload" +
      "\"`\n\021StackTraceElement\022\021\n\tclassName\030\001 \002(\t" +
      "\022\022\n\nmethodName\030\002 \002(\t\022\020\n\010fileName\030\003 \002(\t\022\022" +
      "\n\nlineNumber\030\004 \002(\005\"/\n\027StatusReplyErrorMe" +
      "ssage\022\024\n\014errorMessage\030\001 \002(\t*<\n\013PatternTy" +
      "pe\022\n\n\006PARENT\020\000\022\016\n\nCHILD_NAME\020\001\022\021\n\rCHILD_" +
      "PATTERN\020\002B\017\n\013akka.remoteH\001"
    };
    descriptor = akka.protobufv3.internal.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new akka.protobufv3.internal.Descriptors.FileDescriptor[] {
        });
    internal_static_SelectionEnvelope_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_SelectionEnvelope_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_SelectionEnvelope_descriptor,
        new java.lang.String[] { "EnclosedMessage", "SerializerId", "Pattern", "MessageManifest", "WildcardFanOut", });
    internal_static_Selection_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_Selection_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Selection_descriptor,
        new java.lang.String[] { "Type", "Matcher", });
    internal_static_Identify_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_Identify_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Identify_descriptor,
        new java.lang.String[] { "MessageId", });
    internal_static_ActorIdentity_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_ActorIdentity_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_ActorIdentity_descriptor,
        new java.lang.String[] { "CorrelationId", "Ref", });
    internal_static_ActorRef_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_ActorRef_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_ActorRef_descriptor,
        new java.lang.String[] { "Path", });
    internal_static_Option_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_Option_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Option_descriptor,
        new java.lang.String[] { "Value", });
    internal_static_Payload_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_Payload_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Payload_descriptor,
        new java.lang.String[] { "EnclosedMessage", "SerializerId", "MessageManifest", });
    internal_static_WatcherHeartbeatResponse_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_WatcherHeartbeatResponse_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_WatcherHeartbeatResponse_descriptor,
        new java.lang.String[] { "Uid", });
    internal_static_Throwable_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_Throwable_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Throwable_descriptor,
        new java.lang.String[] { "ClassName", "Message", "Cause", "StackTrace", });
    internal_static_ThrowableNotSerializable_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_ThrowableNotSerializable_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_ThrowableNotSerializable_descriptor,
        new java.lang.String[] { "Message", "OriginalMessage", "OriginalClassName", });
    internal_static_ActorInitializationException_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_ActorInitializationException_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_ActorInitializationException_descriptor,
        new java.lang.String[] { "Actor", "Message", "Cause", });
    internal_static_StackTraceElement_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_StackTraceElement_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_StackTraceElement_descriptor,
        new java.lang.String[] { "ClassName", "MethodName", "FileName", "LineNumber", });
    internal_static_StatusReplyErrorMessage_descriptor =
      getDescriptor().getMessageTypes().get(12);
    internal_static_StatusReplyErrorMessage_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_StatusReplyErrorMessage_descriptor,
        new java.lang.String[] { "ErrorMessage", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}
