content: /*
   * Copyright (C) 2023-2025 Lightbend Inc. <https://www.lightbend.com>
   */
  
  // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: TestConductorProtocol.proto
  
  package akka.remote.testconductor;
  
  public final class TestConductorProtocol {
    private TestConductorProtocol() {}
    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 BarrierOp}
     */
    public enum BarrierOp
        implements akka.protobufv3.internal.ProtocolMessageEnum {
      /**
       * <code>Enter = 1;</code>
       */
      Enter(1),
      /**
       * <code>Fail = 2;</code>
       */
      Fail(2),
      /**
       * <code>Succeeded = 3;</code>
       */
      Succeeded(3),
      /**
       * <code>Failed = 4;</code>
       */
      Failed(4),
      ;
  
      /**
       * <code>Enter = 1;</code>
       */
      public static final int Enter_VALUE = 1;
      /**
       * <code>Fail = 2;</code>
       */
      public static final int Fail_VALUE = 2;
      /**
       * <code>Succeeded = 3;</code>
       */
      public static final int Succeeded_VALUE = 3;
      /**
       * <code>Failed = 4;</code>
       */
      public static final int Failed_VALUE = 4;
  
  
      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 BarrierOp 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 BarrierOp forNumber(int value) {
        switch (value) {
          case 1: return Enter;
          case 2: return Fail;
          case 3: return Succeeded;
          case 4: return Failed;
          default: return null;
        }
      }
  
      public static akka.protobufv3.internal.Internal.EnumLiteMap<BarrierOp>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final akka.protobufv3.internal.Internal.EnumLiteMap<
          BarrierOp> internalValueMap =
            new akka.protobufv3.internal.Internal.EnumLiteMap<BarrierOp>() {
              public BarrierOp findValueByNumber(int number) {
                return BarrierOp.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.testconductor.TestConductorProtocol.getDescriptor().getEnumTypes().get(0);
      }
  
      private static final BarrierOp[] VALUES = values();
  
      public static BarrierOp 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 BarrierOp(int value) {
        this.value = value;
      }
  
      // @@protoc_insertion_point(enum_scope:BarrierOp)
    }
  
    /**
     * Protobuf enum {@code FailType}
     */
    public enum FailType
        implements akka.protobufv3.internal.ProtocolMessageEnum {
      /**
       * <code>Throttle = 1;</code>
       */
      Throttle(1),
      /**
       * <code>Disconnect = 2;</code>
       */
      Disconnect(2),
      /**
       * <code>Abort = 3;</code>
       */
      Abort(3),
      /**
       * <code>Exit = 4;</code>
       */
      Exit(4),
      /**
       * <code>Shutdown = 5;</code>
       */
      Shutdown(5),
      /**
       * <code>ShutdownAbrupt = 6;</code>
       */
      ShutdownAbrupt(6),
      ;
  
      /**
       * <code>Throttle = 1;</code>
       */
      public static final int Throttle_VALUE = 1;
      /**
       * <code>Disconnect = 2;</code>
       */
      public static final int Disconnect_VALUE = 2;
      /**
       * <code>Abort = 3;</code>
       */
      public static final int Abort_VALUE = 3;
      /**
       * <code>Exit = 4;</code>
       */
      public static final int Exit_VALUE = 4;
      /**
       * <code>Shutdown = 5;</code>
       */
      public static final int Shutdown_VALUE = 5;
      /**
       * <code>ShutdownAbrupt = 6;</code>
       */
      public static final int ShutdownAbrupt_VALUE = 6;
  
  
      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 FailType 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 FailType forNumber(int value) {
        switch (value) {
          case 1: return Throttle;
          case 2: return Disconnect;
          case 3: return Abort;
          case 4: return Exit;
          case 5: return Shutdown;
          case 6: return ShutdownAbrupt;
          default: return null;
        }
      }
  
      public static akka.protobufv3.internal.Internal.EnumLiteMap<FailType>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final akka.protobufv3.internal.Internal.EnumLiteMap<
          FailType> internalValueMap =
            new akka.protobufv3.internal.Internal.EnumLiteMap<FailType>() {
              public FailType findValueByNumber(int number) {
                return FailType.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.testconductor.TestConductorProtocol.getDescriptor().getEnumTypes().get(1);
      }
  
      private static final FailType[] VALUES = values();
  
      public static FailType 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 FailType(int value) {
        this.value = value;
      }
  
      // @@protoc_insertion_point(enum_scope:FailType)
    }
  
    /**
     * Protobuf enum {@code Direction}
     */
    public enum Direction
        implements akka.protobufv3.internal.ProtocolMessageEnum {
      /**
       * <code>Send = 1;</code>
       */
      Send(1),
      /**
       * <code>Receive = 2;</code>
       */
      Receive(2),
      /**
       * <code>Both = 3;</code>
       */
      Both(3),
      ;
  
      /**
       * <code>Send = 1;</code>
       */
      public static final int Send_VALUE = 1;
      /**
       * <code>Receive = 2;</code>
       */
      public static final int Receive_VALUE = 2;
      /**
       * <code>Both = 3;</code>
       */
      public static final int Both_VALUE = 3;
  
  
      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 Direction 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 Direction forNumber(int value) {
        switch (value) {
          case 1: return Send;
          case 2: return Receive;
          case 3: return Both;
          default: return null;
        }
      }
  
      public static akka.protobufv3.internal.Internal.EnumLiteMap<Direction>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final akka.protobufv3.internal.Internal.EnumLiteMap<
          Direction> internalValueMap =
            new akka.protobufv3.internal.Internal.EnumLiteMap<Direction>() {
              public Direction findValueByNumber(int number) {
                return Direction.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.testconductor.TestConductorProtocol.getDescriptor().getEnumTypes().get(2);
      }
  
      private static final Direction[] VALUES = values();
  
      public static Direction 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 Direction(int value) {
        this.value = value;
      }
  
      // @@protoc_insertion_point(enum_scope:Direction)
    }
  
    public interface WrapperOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Wrapper)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>optional .Hello hello = 1;</code>
       * @return Whether the hello field is set.
       */
      boolean hasHello();
      /**
       * <code>optional .Hello hello = 1;</code>
       * @return The hello.
       */
      akka.remote.testconductor.TestConductorProtocol.Hello getHello();
      /**
       * <code>optional .Hello hello = 1;</code>
       */
      akka.remote.testconductor.TestConductorProtocol.HelloOrBuilder getHelloOrBuilder();
  
      /**
       * <code>optional .EnterBarrier barrier = 2;</code>
       * @return Whether the barrier field is set.
       */
      boolean hasBarrier();
      /**
       * <code>optional .EnterBarrier barrier = 2;</code>
       * @return The barrier.
       */
      akka.remote.testconductor.TestConductorProtocol.EnterBarrier getBarrier();
      /**
       * <code>optional .EnterBarrier barrier = 2;</code>
       */
      akka.remote.testconductor.TestConductorProtocol.EnterBarrierOrBuilder getBarrierOrBuilder();
  
      /**
       * <code>optional .InjectFailure failure = 3;</code>
       * @return Whether the failure field is set.
       */
      boolean hasFailure();
      /**
       * <code>optional .InjectFailure failure = 3;</code>
       * @return The failure.
       */
      akka.remote.testconductor.TestConductorProtocol.InjectFailure getFailure();
      /**
       * <code>optional .InjectFailure failure = 3;</code>
       */
      akka.remote.testconductor.TestConductorProtocol.InjectFailureOrBuilder getFailureOrBuilder();
  
      /**
       * <code>optional string done = 4;</code>
       * @return Whether the done field is set.
       */
      boolean hasDone();
      /**
       * <code>optional string done = 4;</code>
       * @return The done.
       */
      java.lang.String getDone();
      /**
       * <code>optional string done = 4;</code>
       * @return The bytes for done.
       */
      akka.protobufv3.internal.ByteString
          getDoneBytes();
  
      /**
       * <code>optional .AddressRequest addr = 5;</code>
       * @return Whether the addr field is set.
       */
      boolean hasAddr();
      /**
       * <code>optional .AddressRequest addr = 5;</code>
       * @return The addr.
       */
      akka.remote.testconductor.TestConductorProtocol.AddressRequest getAddr();
      /**
       * <code>optional .AddressRequest addr = 5;</code>
       */
      akka.remote.testconductor.TestConductorProtocol.AddressRequestOrBuilder getAddrOrBuilder();
    }
    /**
     * Protobuf type {@code Wrapper}
     */
    public static final class Wrapper extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Wrapper)
        WrapperOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Wrapper.newBuilder() to construct.
      private Wrapper(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Wrapper() {
        done_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Wrapper();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.testconductor.TestConductorProtocol.internal_static_Wrapper_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.testconductor.TestConductorProtocol.internal_static_Wrapper_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.testconductor.TestConductorProtocol.Wrapper.class, akka.remote.testconductor.TestConductorProtocol.Wrapper.Builder.class);
      }
  
      private int bitField0_;
      public static final int HELLO_FIELD_NUMBER = 1;
      private akka.remote.testconductor.TestConductorProtocol.Hello hello_;
      /**
       * <code>optional .Hello hello = 1;</code>
       * @return Whether the hello field is set.
       */
      @java.lang.Override
      public boolean hasHello() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>optional .Hello hello = 1;</code>
       * @return The hello.
       */
      @java.lang.Override
      public akka.remote.testconductor.TestConductorProtocol.Hello getHello() {
        return hello_ == null ? akka.remote.testconductor.TestConductorProtocol.Hello.getDefaultInstance() : hello_;
      }
      /**
       * <code>optional .Hello hello = 1;</code>
       */
      @java.lang.Override
      public akka.remote.testconductor.TestConductorProtocol.HelloOrBuilder getHelloOrBuilder() {
        return hello_ == null ? akka.remote.testconductor.TestConductorProtocol.Hello.getDefaultInstance() : hello_;
      }
  
      public static final int BARRIER_FIELD_NUMBER = 2;
      private akka.remote.testconductor.TestConductorProtocol.EnterBarrier barrier_;
      /**
       * <code>optional .EnterBarrier barrier = 2;</code>
       * @return Whether the barrier field is set.
       */
      @java.lang.Override
      public boolean hasBarrier() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional .EnterBarrier barrier = 2;</code>
       * @return The barrier.
       */
      @java.lang.Override
      public akka.remote.testconductor.TestConductorProtocol.EnterBarrier getBarrier() {
        return barrier_ == null ? akka.remote.testconductor.TestConductorProtocol.EnterBarrier.getDefaultInstance() : barrier_;
      }
      /**
       * <code>optional .EnterBarrier barrier = 2;</code>
       */
      @java.lang.Override
      public akka.remote.testconductor.TestConductorProtocol.EnterBarrierOrBuilder getBarrierOrBuilder() {
        return barrier_ == null ? akka.remote.testconductor.TestConductorProtocol.EnterBarrier.getDefaultInstance() : barrier_;
      }
  
      public static final int FAILURE_FIELD_NUMBER = 3;
      private akka.remote.testconductor.TestConductorProtocol.InjectFailure failure_;
      /**
       * <code>optional .InjectFailure failure = 3;</code>
       * @return Whether the failure field is set.
       */
      @java.lang.Override
      public boolean hasFailure() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional .InjectFailure failure = 3;</code>
       * @return The failure.
       */
      @java.lang.Override
      public akka.remote.testconductor.TestConductorProtocol.InjectFailure getFailure() {
        return failure_ == null ? akka.remote.testconductor.TestConductorProtocol.InjectFailure.getDefaultInstance() : failure_;
      }
      /**
       * <code>optional .InjectFailure failure = 3;</code>
       */
      @java.lang.Override
      public akka.remote.testconductor.TestConductorProtocol.InjectFailureOrBuilder getFailureOrBuilder() {
        return failure_ == null ? akka.remote.testconductor.TestConductorProtocol.InjectFailure.getDefaultInstance() : failure_;
      }
  
      public static final int DONE_FIELD_NUMBER = 4;
      @SuppressWarnings("serial")
      private volatile java.lang.Object done_ = "";
      /**
       * <code>optional string done = 4;</code>
       * @return Whether the done field is set.
       */
      @java.lang.Override
      public boolean hasDone() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>optional string done = 4;</code>
       * @return The done.
       */
      @java.lang.Override
      public java.lang.String getDone() {
        java.lang.Object ref = done_;
        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()) {
            done_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string done = 4;</code>
       * @return The bytes for done.
       */
      @java.lang.Override
      public akka.protobufv3.internal.ByteString
          getDoneBytes() {
        java.lang.Object ref = done_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          done_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      public static final int ADDR_FIELD_NUMBER = 5;
      private akka.remote.testconductor.TestConductorProtocol.AddressRequest addr_;
      /**
       * <code>optional .AddressRequest addr = 5;</code>
       * @return Whether the addr field is set.
       */
      @java.lang.Override
      public boolean hasAddr() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <code>optional .AddressRequest addr = 5;</code>
       * @return The addr.
       */
      @java.lang.Override
      public akka.remote.testconductor.TestConductorProtocol.AddressRequest getAddr() {
        return addr_ == null ? akka.remote.testconductor.TestConductorProtocol.AddressRequest.getDefaultInstance() : addr_;
      }
      /**
       * <code>optional .AddressRequest addr = 5;</code>
       */
      @java.lang.Override
      public akka.remote.testconductor.TestConductorProtocol.AddressRequestOrBuilder getAddrOrBuilder() {
        return addr_ == null ? akka.remote.testconductor.TestConductorProtocol.AddressRequest.getDefaultInstance() : addr_;
      }
  
      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 (hasHello()) {
          if (!getHello().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasBarrier()) {
          if (!getBarrier().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasFailure()) {
          if (!getFailure().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasAddr()) {
          if (!getAddr().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, getHello());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeMessage(2, getBarrier());
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeMessage(3, getFailure());
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 4, done_);
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          output.writeMessage(5, getAddr());
        }
        getUnknownFields().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, getHello());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(2, getBarrier());
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(3, getFailure());
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(4, done_);
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(5, getAddr());
        }
        size += getUnknownFields().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.testconductor.TestConductorProtocol.Wrapper)) {
          return super.equals(obj);
        }
        akka.remote.testconductor.TestConductorProtocol.Wrapper other = (akka.remote.testconductor.TestConductorProtocol.Wrapper) obj;
  
        if (hasHello() != other.hasHello()) return false;
        if (hasHello()) {
          if (!getHello()
              .equals(other.getHello())) return false;
        }
        if (hasBarrier() != other.hasBarrier()) return false;
        if (hasBarrier()) {
          if (!getBarrier()
              .equals(other.getBarrier())) return false;
        }
        if (hasFailure() != other.hasFailure()) return false;
        if (hasFailure()) {
          if (!getFailure()
              .equals(other.getFailure())) return false;
        }
        if (hasDone() != other.hasDone()) return false;
        if (hasDone()) {
          if (!getDone()
              .equals(other.getDone())) return false;
        }
        if (hasAddr() != other.hasAddr()) return false;
        if (hasAddr()) {
          if (!getAddr()
              .equals(other.getAddr())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasHello()) {
          hash = (37 * hash) + HELLO_FIELD_NUMBER;
          hash = (53 * hash) + getHello().hashCode();
        }
        if (hasBarrier()) {
          hash = (37 * hash) + BARRIER_FIELD_NUMBER;
          hash = (53 * hash) + getBarrier().hashCode();
        }
        if (hasFailure()) {
          hash = (37 * hash) + FAILURE_FIELD_NUMBER;
          hash = (53 * hash) + getFailure().hashCode();
        }
        if (hasDone()) {
          hash = (37 * hash) + DONE_FIELD_NUMBER;
          hash = (53 * hash) + getDone().hashCode();
        }
        if (hasAddr()) {
          hash = (37 * hash) + ADDR_FIELD_NUMBER;
          hash = (53 * hash) + getAddr().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.remote.testconductor.TestConductorProtocol.Wrapper parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Wrapper parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Wrapper parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Wrapper 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.testconductor.TestConductorProtocol.Wrapper parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Wrapper parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Wrapper parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Wrapper 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.testconductor.TestConductorProtocol.Wrapper parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.remote.testconductor.TestConductorProtocol.Wrapper 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.testconductor.TestConductorProtocol.Wrapper parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Wrapper 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.testconductor.TestConductorProtocol.Wrapper 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 Wrapper}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Wrapper)
          akka.remote.testconductor.TestConductorProtocol.WrapperOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.remote.testconductor.TestConductorProtocol.internal_static_Wrapper_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.remote.testconductor.TestConductorProtocol.internal_static_Wrapper_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.remote.testconductor.TestConductorProtocol.Wrapper.class, akka.remote.testconductor.TestConductorProtocol.Wrapper.Builder.class);
        }
  
        // Construct using akka.remote.testconductor.TestConductorProtocol.Wrapper.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getHelloFieldBuilder();
            getBarrierFieldBuilder();
            getFailureFieldBuilder();
            getAddrFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          hello_ = null;
          if (helloBuilder_ != null) {
            helloBuilder_.dispose();
            helloBuilder_ = null;
          }
          barrier_ = null;
          if (barrierBuilder_ != null) {
            barrierBuilder_.dispose();
            barrierBuilder_ = null;
          }
          failure_ = null;
          if (failureBuilder_ != null) {
            failureBuilder_.dispose();
            failureBuilder_ = null;
          }
          done_ = "";
          addr_ = null;
          if (addrBuilder_ != null) {
            addrBuilder_.dispose();
            addrBuilder_ = null;
          }
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.remote.testconductor.TestConductorProtocol.internal_static_Wrapper_descriptor;
        }
  
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.Wrapper getDefaultInstanceForType() {
          return akka.remote.testconductor.TestConductorProtocol.Wrapper.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.Wrapper build() {
          akka.remote.testconductor.TestConductorProtocol.Wrapper result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.Wrapper buildPartial() {
          akka.remote.testconductor.TestConductorProtocol.Wrapper result = new akka.remote.testconductor.TestConductorProtocol.Wrapper(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.remote.testconductor.TestConductorProtocol.Wrapper result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.hello_ = helloBuilder_ == null
                ? hello_
                : helloBuilder_.build();
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.barrier_ = barrierBuilder_ == null
                ? barrier_
                : barrierBuilder_.build();
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.failure_ = failureBuilder_ == null
                ? failure_
                : failureBuilder_.build();
            to_bitField0_ |= 0x00000004;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.done_ = done_;
            to_bitField0_ |= 0x00000008;
          }
          if (((from_bitField0_ & 0x00000010) != 0)) {
            result.addr_ = addrBuilder_ == null
                ? addr_
                : addrBuilder_.build();
            to_bitField0_ |= 0x00000010;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @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.testconductor.TestConductorProtocol.Wrapper) {
            return mergeFrom((akka.remote.testconductor.TestConductorProtocol.Wrapper)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.remote.testconductor.TestConductorProtocol.Wrapper other) {
          if (other == akka.remote.testconductor.TestConductorProtocol.Wrapper.getDefaultInstance()) return this;
          if (other.hasHello()) {
            mergeHello(other.getHello());
          }
          if (other.hasBarrier()) {
            mergeBarrier(other.getBarrier());
          }
          if (other.hasFailure()) {
            mergeFailure(other.getFailure());
          }
          if (other.hasDone()) {
            done_ = other.done_;
            bitField0_ |= 0x00000008;
            onChanged();
          }
          if (other.hasAddr()) {
            mergeAddr(other.getAddr());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (hasHello()) {
            if (!getHello().isInitialized()) {
              return false;
            }
          }
          if (hasBarrier()) {
            if (!getBarrier().isInitialized()) {
              return false;
            }
          }
          if (hasFailure()) {
            if (!getFailure().isInitialized()) {
              return false;
            }
          }
          if (hasAddr()) {
            if (!getAddr().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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  input.readMessage(
                      getHelloFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  input.readMessage(
                      getBarrierFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                case 26: {
                  input.readMessage(
                      getFailureFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000004;
                  break;
                } // case 26
                case 34: {
                  done_ = input.readBytes();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 34
                case 42: {
                  input.readMessage(
                      getAddrFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000010;
                  break;
                } // case 42
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private akka.remote.testconductor.TestConductorProtocol.Hello hello_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.remote.testconductor.TestConductorProtocol.Hello, akka.remote.testconductor.TestConductorProtocol.Hello.Builder, akka.remote.testconductor.TestConductorProtocol.HelloOrBuilder> helloBuilder_;
        /**
         * <code>optional .Hello hello = 1;</code>
         * @return Whether the hello field is set.
         */
        public boolean hasHello() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>optional .Hello hello = 1;</code>
         * @return The hello.
         */
        public akka.remote.testconductor.TestConductorProtocol.Hello getHello() {
          if (helloBuilder_ == null) {
            return hello_ == null ? akka.remote.testconductor.TestConductorProtocol.Hello.getDefaultInstance() : hello_;
          } else {
            return helloBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .Hello hello = 1;</code>
         */
        public Builder setHello(akka.remote.testconductor.TestConductorProtocol.Hello value) {
          if (helloBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            hello_ = value;
          } else {
            helloBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>optional .Hello hello = 1;</code>
         */
        public Builder setHello(
            akka.remote.testconductor.TestConductorProtocol.Hello.Builder builderForValue) {
          if (helloBuilder_ == null) {
            hello_ = builderForValue.build();
          } else {
            helloBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>optional .Hello hello = 1;</code>
         */
        public Builder mergeHello(akka.remote.testconductor.TestConductorProtocol.Hello value) {
          if (helloBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0) &&
              hello_ != null &&
              hello_ != akka.remote.testconductor.TestConductorProtocol.Hello.getDefaultInstance()) {
              getHelloBuilder().mergeFrom(value);
            } else {
              hello_ = value;
            }
          } else {
            helloBuilder_.mergeFrom(value);
          }
          if (hello_ != null) {
            bitField0_ |= 0x00000001;
            onChanged();
          }
          return this;
        }
        /**
         * <code>optional .Hello hello = 1;</code>
         */
        public Builder clearHello() {
          bitField0_ = (bitField0_ & ~0x00000001);
          hello_ = null;
          if (helloBuilder_ != null) {
            helloBuilder_.dispose();
            helloBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>optional .Hello hello = 1;</code>
         */
        public akka.remote.testconductor.TestConductorProtocol.Hello.Builder getHelloBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getHelloFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .Hello hello = 1;</code>
         */
        public akka.remote.testconductor.TestConductorProtocol.HelloOrBuilder getHelloOrBuilder() {
          if (helloBuilder_ != null) {
            return helloBuilder_.getMessageOrBuilder();
          } else {
            return hello_ == null ?
                akka.remote.testconductor.TestConductorProtocol.Hello.getDefaultInstance() : hello_;
          }
        }
        /**
         * <code>optional .Hello hello = 1;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.remote.testconductor.TestConductorProtocol.Hello, akka.remote.testconductor.TestConductorProtocol.Hello.Builder, akka.remote.testconductor.TestConductorProtocol.HelloOrBuilder> 
            getHelloFieldBuilder() {
          if (helloBuilder_ == null) {
            helloBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.remote.testconductor.TestConductorProtocol.Hello, akka.remote.testconductor.TestConductorProtocol.Hello.Builder, akka.remote.testconductor.TestConductorProtocol.HelloOrBuilder>(
                    getHello(),
                    getParentForChildren(),
                    isClean());
            hello_ = null;
          }
          return helloBuilder_;
        }
  
        private akka.remote.testconductor.TestConductorProtocol.EnterBarrier barrier_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.remote.testconductor.TestConductorProtocol.EnterBarrier, akka.remote.testconductor.TestConductorProtocol.EnterBarrier.Builder, akka.remote.testconductor.TestConductorProtocol.EnterBarrierOrBuilder> barrierBuilder_;
        /**
         * <code>optional .EnterBarrier barrier = 2;</code>
         * @return Whether the barrier field is set.
         */
        public boolean hasBarrier() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>optional .EnterBarrier barrier = 2;</code>
         * @return The barrier.
         */
        public akka.remote.testconductor.TestConductorProtocol.EnterBarrier getBarrier() {
          if (barrierBuilder_ == null) {
            return barrier_ == null ? akka.remote.testconductor.TestConductorProtocol.EnterBarrier.getDefaultInstance() : barrier_;
          } else {
            return barrierBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .EnterBarrier barrier = 2;</code>
         */
        public Builder setBarrier(akka.remote.testconductor.TestConductorProtocol.EnterBarrier value) {
          if (barrierBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            barrier_ = value;
          } else {
            barrierBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>optional .EnterBarrier barrier = 2;</code>
         */
        public Builder setBarrier(
            akka.remote.testconductor.TestConductorProtocol.EnterBarrier.Builder builderForValue) {
          if (barrierBuilder_ == null) {
            barrier_ = builderForValue.build();
          } else {
            barrierBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>optional .EnterBarrier barrier = 2;</code>
         */
        public Builder mergeBarrier(akka.remote.testconductor.TestConductorProtocol.EnterBarrier value) {
          if (barrierBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0) &&
              barrier_ != null &&
              barrier_ != akka.remote.testconductor.TestConductorProtocol.EnterBarrier.getDefaultInstance()) {
              getBarrierBuilder().mergeFrom(value);
            } else {
              barrier_ = value;
            }
          } else {
            barrierBuilder_.mergeFrom(value);
          }
          if (barrier_ != null) {
            bitField0_ |= 0x00000002;
            onChanged();
          }
          return this;
        }
        /**
         * <code>optional .EnterBarrier barrier = 2;</code>
         */
        public Builder clearBarrier() {
          bitField0_ = (bitField0_ & ~0x00000002);
          barrier_ = null;
          if (barrierBuilder_ != null) {
            barrierBuilder_.dispose();
            barrierBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>optional .EnterBarrier barrier = 2;</code>
         */
        public akka.remote.testconductor.TestConductorProtocol.EnterBarrier.Builder getBarrierBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getBarrierFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .EnterBarrier barrier = 2;</code>
         */
        public akka.remote.testconductor.TestConductorProtocol.EnterBarrierOrBuilder getBarrierOrBuilder() {
          if (barrierBuilder_ != null) {
            return barrierBuilder_.getMessageOrBuilder();
          } else {
            return barrier_ == null ?
                akka.remote.testconductor.TestConductorProtocol.EnterBarrier.getDefaultInstance() : barrier_;
          }
        }
        /**
         * <code>optional .EnterBarrier barrier = 2;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.remote.testconductor.TestConductorProtocol.EnterBarrier, akka.remote.testconductor.TestConductorProtocol.EnterBarrier.Builder, akka.remote.testconductor.TestConductorProtocol.EnterBarrierOrBuilder> 
            getBarrierFieldBuilder() {
          if (barrierBuilder_ == null) {
            barrierBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.remote.testconductor.TestConductorProtocol.EnterBarrier, akka.remote.testconductor.TestConductorProtocol.EnterBarrier.Builder, akka.remote.testconductor.TestConductorProtocol.EnterBarrierOrBuilder>(
                    getBarrier(),
                    getParentForChildren(),
                    isClean());
            barrier_ = null;
          }
          return barrierBuilder_;
        }
  
        private akka.remote.testconductor.TestConductorProtocol.InjectFailure failure_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.remote.testconductor.TestConductorProtocol.InjectFailure, akka.remote.testconductor.TestConductorProtocol.InjectFailure.Builder, akka.remote.testconductor.TestConductorProtocol.InjectFailureOrBuilder> failureBuilder_;
        /**
         * <code>optional .InjectFailure failure = 3;</code>
         * @return Whether the failure field is set.
         */
        public boolean hasFailure() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>optional .InjectFailure failure = 3;</code>
         * @return The failure.
         */
        public akka.remote.testconductor.TestConductorProtocol.InjectFailure getFailure() {
          if (failureBuilder_ == null) {
            return failure_ == null ? akka.remote.testconductor.TestConductorProtocol.InjectFailure.getDefaultInstance() : failure_;
          } else {
            return failureBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .InjectFailure failure = 3;</code>
         */
        public Builder setFailure(akka.remote.testconductor.TestConductorProtocol.InjectFailure value) {
          if (failureBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            failure_ = value;
          } else {
            failureBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>optional .InjectFailure failure = 3;</code>
         */
        public Builder setFailure(
            akka.remote.testconductor.TestConductorProtocol.InjectFailure.Builder builderForValue) {
          if (failureBuilder_ == null) {
            failure_ = builderForValue.build();
          } else {
            failureBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>optional .InjectFailure failure = 3;</code>
         */
        public Builder mergeFailure(akka.remote.testconductor.TestConductorProtocol.InjectFailure value) {
          if (failureBuilder_ == null) {
            if (((bitField0_ & 0x00000004) != 0) &&
              failure_ != null &&
              failure_ != akka.remote.testconductor.TestConductorProtocol.InjectFailure.getDefaultInstance()) {
              getFailureBuilder().mergeFrom(value);
            } else {
              failure_ = value;
            }
          } else {
            failureBuilder_.mergeFrom(value);
          }
          if (failure_ != null) {
            bitField0_ |= 0x00000004;
            onChanged();
          }
          return this;
        }
        /**
         * <code>optional .InjectFailure failure = 3;</code>
         */
        public Builder clearFailure() {
          bitField0_ = (bitField0_ & ~0x00000004);
          failure_ = null;
          if (failureBuilder_ != null) {
            failureBuilder_.dispose();
            failureBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>optional .InjectFailure failure = 3;</code>
         */
        public akka.remote.testconductor.TestConductorProtocol.InjectFailure.Builder getFailureBuilder() {
          bitField0_ |= 0x00000004;
          onChanged();
          return getFailureFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .InjectFailure failure = 3;</code>
         */
        public akka.remote.testconductor.TestConductorProtocol.InjectFailureOrBuilder getFailureOrBuilder() {
          if (failureBuilder_ != null) {
            return failureBuilder_.getMessageOrBuilder();
          } else {
            return failure_ == null ?
                akka.remote.testconductor.TestConductorProtocol.InjectFailure.getDefaultInstance() : failure_;
          }
        }
        /**
         * <code>optional .InjectFailure failure = 3;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.remote.testconductor.TestConductorProtocol.InjectFailure, akka.remote.testconductor.TestConductorProtocol.InjectFailure.Builder, akka.remote.testconductor.TestConductorProtocol.InjectFailureOrBuilder> 
            getFailureFieldBuilder() {
          if (failureBuilder_ == null) {
            failureBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.remote.testconductor.TestConductorProtocol.InjectFailure, akka.remote.testconductor.TestConductorProtocol.InjectFailure.Builder, akka.remote.testconductor.TestConductorProtocol.InjectFailureOrBuilder>(
                    getFailure(),
                    getParentForChildren(),
                    isClean());
            failure_ = null;
          }
          return failureBuilder_;
        }
  
        private java.lang.Object done_ = "";
        /**
         * <code>optional string done = 4;</code>
         * @return Whether the done field is set.
         */
        public boolean hasDone() {
          return ((bitField0_ & 0x00000008) != 0);
        }
        /**
         * <code>optional string done = 4;</code>
         * @return The done.
         */
        public java.lang.String getDone() {
          java.lang.Object ref = done_;
          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()) {
              done_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string done = 4;</code>
         * @return The bytes for done.
         */
        public akka.protobufv3.internal.ByteString
            getDoneBytes() {
          java.lang.Object ref = done_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            done_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>optional string done = 4;</code>
         * @param value The done to set.
         * @return This builder for chaining.
         */
        public Builder setDone(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          done_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>optional string done = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearDone() {
          done_ = getDefaultInstance().getDone();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
          return this;
        }
        /**
         * <code>optional string done = 4;</code>
         * @param value The bytes for done to set.
         * @return This builder for chaining.
         */
        public Builder setDoneBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          done_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
  
        private akka.remote.testconductor.TestConductorProtocol.AddressRequest addr_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.remote.testconductor.TestConductorProtocol.AddressRequest, akka.remote.testconductor.TestConductorProtocol.AddressRequest.Builder, akka.remote.testconductor.TestConductorProtocol.AddressRequestOrBuilder> addrBuilder_;
        /**
         * <code>optional .AddressRequest addr = 5;</code>
         * @return Whether the addr field is set.
         */
        public boolean hasAddr() {
          return ((bitField0_ & 0x00000010) != 0);
        }
        /**
         * <code>optional .AddressRequest addr = 5;</code>
         * @return The addr.
         */
        public akka.remote.testconductor.TestConductorProtocol.AddressRequest getAddr() {
          if (addrBuilder_ == null) {
            return addr_ == null ? akka.remote.testconductor.TestConductorProtocol.AddressRequest.getDefaultInstance() : addr_;
          } else {
            return addrBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .AddressRequest addr = 5;</code>
         */
        public Builder setAddr(akka.remote.testconductor.TestConductorProtocol.AddressRequest value) {
          if (addrBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            addr_ = value;
          } else {
            addrBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000010;
          onChanged();
          return this;
        }
        /**
         * <code>optional .AddressRequest addr = 5;</code>
         */
        public Builder setAddr(
            akka.remote.testconductor.TestConductorProtocol.AddressRequest.Builder builderForValue) {
          if (addrBuilder_ == null) {
            addr_ = builderForValue.build();
          } else {
            addrBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000010;
          onChanged();
          return this;
        }
        /**
         * <code>optional .AddressRequest addr = 5;</code>
         */
        public Builder mergeAddr(akka.remote.testconductor.TestConductorProtocol.AddressRequest value) {
          if (addrBuilder_ == null) {
            if (((bitField0_ & 0x00000010) != 0) &&
              addr_ != null &&
              addr_ != akka.remote.testconductor.TestConductorProtocol.AddressRequest.getDefaultInstance()) {
              getAddrBuilder().mergeFrom(value);
            } else {
              addr_ = value;
            }
          } else {
            addrBuilder_.mergeFrom(value);
          }
          if (addr_ != null) {
            bitField0_ |= 0x00000010;
            onChanged();
          }
          return this;
        }
        /**
         * <code>optional .AddressRequest addr = 5;</code>
         */
        public Builder clearAddr() {
          bitField0_ = (bitField0_ & ~0x00000010);
          addr_ = null;
          if (addrBuilder_ != null) {
            addrBuilder_.dispose();
            addrBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>optional .AddressRequest addr = 5;</code>
         */
        public akka.remote.testconductor.TestConductorProtocol.AddressRequest.Builder getAddrBuilder() {
          bitField0_ |= 0x00000010;
          onChanged();
          return getAddrFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .AddressRequest addr = 5;</code>
         */
        public akka.remote.testconductor.TestConductorProtocol.AddressRequestOrBuilder getAddrOrBuilder() {
          if (addrBuilder_ != null) {
            return addrBuilder_.getMessageOrBuilder();
          } else {
            return addr_ == null ?
                akka.remote.testconductor.TestConductorProtocol.AddressRequest.getDefaultInstance() : addr_;
          }
        }
        /**
         * <code>optional .AddressRequest addr = 5;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.remote.testconductor.TestConductorProtocol.AddressRequest, akka.remote.testconductor.TestConductorProtocol.AddressRequest.Builder, akka.remote.testconductor.TestConductorProtocol.AddressRequestOrBuilder> 
            getAddrFieldBuilder() {
          if (addrBuilder_ == null) {
            addrBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.remote.testconductor.TestConductorProtocol.AddressRequest, akka.remote.testconductor.TestConductorProtocol.AddressRequest.Builder, akka.remote.testconductor.TestConductorProtocol.AddressRequestOrBuilder>(
                    getAddr(),
                    getParentForChildren(),
                    isClean());
            addr_ = null;
          }
          return addrBuilder_;
        }
        @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:Wrapper)
      }
  
      // @@protoc_insertion_point(class_scope:Wrapper)
      private static final akka.remote.testconductor.TestConductorProtocol.Wrapper DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.remote.testconductor.TestConductorProtocol.Wrapper();
      }
  
      public static akka.remote.testconductor.TestConductorProtocol.Wrapper getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Wrapper>
          PARSER = new akka.protobufv3.internal.AbstractParser<Wrapper>() {
        @java.lang.Override
        public Wrapper parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<Wrapper> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<Wrapper> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.remote.testconductor.TestConductorProtocol.Wrapper getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface HelloOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Hello)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required string name = 1;</code>
       * @return Whether the name field is set.
       */
      boolean hasName();
      /**
       * <code>required string name = 1;</code>
       * @return The name.
       */
      java.lang.String getName();
      /**
       * <code>required string name = 1;</code>
       * @return The bytes for name.
       */
      akka.protobufv3.internal.ByteString
          getNameBytes();
  
      /**
       * <code>required .Address address = 2;</code>
       * @return Whether the address field is set.
       */
      boolean hasAddress();
      /**
       * <code>required .Address address = 2;</code>
       * @return The address.
       */
      akka.remote.testconductor.TestConductorProtocol.Address getAddress();
      /**
       * <code>required .Address address = 2;</code>
       */
      akka.remote.testconductor.TestConductorProtocol.AddressOrBuilder getAddressOrBuilder();
    }
    /**
     * Protobuf type {@code Hello}
     */
    public static final class Hello extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Hello)
        HelloOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Hello.newBuilder() to construct.
      private Hello(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Hello() {
        name_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Hello();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.testconductor.TestConductorProtocol.internal_static_Hello_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.testconductor.TestConductorProtocol.internal_static_Hello_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.testconductor.TestConductorProtocol.Hello.class, akka.remote.testconductor.TestConductorProtocol.Hello.Builder.class);
      }
  
      private int bitField0_;
      public static final int NAME_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object name_ = "";
      /**
       * <code>required string name = 1;</code>
       * @return Whether the name field is set.
       */
      @java.lang.Override
      public boolean hasName() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string name = 1;</code>
       * @return The name.
       */
      @java.lang.Override
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        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()) {
            name_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string name = 1;</code>
       * @return The bytes for name.
       */
      @java.lang.Override
      public akka.protobufv3.internal.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      public static final int ADDRESS_FIELD_NUMBER = 2;
      private akka.remote.testconductor.TestConductorProtocol.Address address_;
      /**
       * <code>required .Address address = 2;</code>
       * @return Whether the address field is set.
       */
      @java.lang.Override
      public boolean hasAddress() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .Address address = 2;</code>
       * @return The address.
       */
      @java.lang.Override
      public akka.remote.testconductor.TestConductorProtocol.Address getAddress() {
        return address_ == null ? akka.remote.testconductor.TestConductorProtocol.Address.getDefaultInstance() : address_;
      }
      /**
       * <code>required .Address address = 2;</code>
       */
      @java.lang.Override
      public akka.remote.testconductor.TestConductorProtocol.AddressOrBuilder getAddressOrBuilder() {
        return address_ == null ? akka.remote.testconductor.TestConductorProtocol.Address.getDefaultInstance() : address_;
      }
  
      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 (!hasName()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasAddress()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getAddress().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, name_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeMessage(2, getAddress());
        }
        getUnknownFields().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, name_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(2, getAddress());
        }
        size += getUnknownFields().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.testconductor.TestConductorProtocol.Hello)) {
          return super.equals(obj);
        }
        akka.remote.testconductor.TestConductorProtocol.Hello other = (akka.remote.testconductor.TestConductorProtocol.Hello) obj;
  
        if (hasName() != other.hasName()) return false;
        if (hasName()) {
          if (!getName()
              .equals(other.getName())) return false;
        }
        if (hasAddress() != other.hasAddress()) return false;
        if (hasAddress()) {
          if (!getAddress()
              .equals(other.getAddress())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasName()) {
          hash = (37 * hash) + NAME_FIELD_NUMBER;
          hash = (53 * hash) + getName().hashCode();
        }
        if (hasAddress()) {
          hash = (37 * hash) + ADDRESS_FIELD_NUMBER;
          hash = (53 * hash) + getAddress().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.remote.testconductor.TestConductorProtocol.Hello parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Hello parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Hello parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Hello 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.testconductor.TestConductorProtocol.Hello parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Hello parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Hello parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Hello 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.testconductor.TestConductorProtocol.Hello parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.remote.testconductor.TestConductorProtocol.Hello 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.testconductor.TestConductorProtocol.Hello parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Hello 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.testconductor.TestConductorProtocol.Hello 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 Hello}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Hello)
          akka.remote.testconductor.TestConductorProtocol.HelloOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.remote.testconductor.TestConductorProtocol.internal_static_Hello_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.remote.testconductor.TestConductorProtocol.internal_static_Hello_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.remote.testconductor.TestConductorProtocol.Hello.class, akka.remote.testconductor.TestConductorProtocol.Hello.Builder.class);
        }
  
        // Construct using akka.remote.testconductor.TestConductorProtocol.Hello.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getAddressFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          name_ = "";
          address_ = null;
          if (addressBuilder_ != null) {
            addressBuilder_.dispose();
            addressBuilder_ = null;
          }
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.remote.testconductor.TestConductorProtocol.internal_static_Hello_descriptor;
        }
  
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.Hello getDefaultInstanceForType() {
          return akka.remote.testconductor.TestConductorProtocol.Hello.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.Hello build() {
          akka.remote.testconductor.TestConductorProtocol.Hello result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.Hello buildPartial() {
          akka.remote.testconductor.TestConductorProtocol.Hello result = new akka.remote.testconductor.TestConductorProtocol.Hello(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.remote.testconductor.TestConductorProtocol.Hello result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.name_ = name_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.address_ = addressBuilder_ == null
                ? address_
                : addressBuilder_.build();
            to_bitField0_ |= 0x00000002;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @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.testconductor.TestConductorProtocol.Hello) {
            return mergeFrom((akka.remote.testconductor.TestConductorProtocol.Hello)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.remote.testconductor.TestConductorProtocol.Hello other) {
          if (other == akka.remote.testconductor.TestConductorProtocol.Hello.getDefaultInstance()) return this;
          if (other.hasName()) {
            name_ = other.name_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (other.hasAddress()) {
            mergeAddress(other.getAddress());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasName()) {
            return false;
          }
          if (!hasAddress()) {
            return false;
          }
          if (!getAddress().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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  name_ = input.readBytes();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  input.readMessage(
                      getAddressFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private java.lang.Object name_ = "";
        /**
         * <code>required string name = 1;</code>
         * @return Whether the name field is set.
         */
        public boolean hasName() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required string name = 1;</code>
         * @return The name.
         */
        public java.lang.String getName() {
          java.lang.Object ref = name_;
          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()) {
              name_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string name = 1;</code>
         * @return The bytes for name.
         */
        public akka.protobufv3.internal.ByteString
            getNameBytes() {
          java.lang.Object ref = name_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            name_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string name = 1;</code>
         * @param value The name to set.
         * @return This builder for chaining.
         */
        public Builder setName(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          name_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required string name = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearName() {
          name_ = getDefaultInstance().getName();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>required string name = 1;</code>
         * @param value The bytes for name to set.
         * @return This builder for chaining.
         */
        public Builder setNameBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          name_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
  
        private akka.remote.testconductor.TestConductorProtocol.Address address_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.remote.testconductor.TestConductorProtocol.Address, akka.remote.testconductor.TestConductorProtocol.Address.Builder, akka.remote.testconductor.TestConductorProtocol.AddressOrBuilder> addressBuilder_;
        /**
         * <code>required .Address address = 2;</code>
         * @return Whether the address field is set.
         */
        public boolean hasAddress() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required .Address address = 2;</code>
         * @return The address.
         */
        public akka.remote.testconductor.TestConductorProtocol.Address getAddress() {
          if (addressBuilder_ == null) {
            return address_ == null ? akka.remote.testconductor.TestConductorProtocol.Address.getDefaultInstance() : address_;
          } else {
            return addressBuilder_.getMessage();
          }
        }
        /**
         * <code>required .Address address = 2;</code>
         */
        public Builder setAddress(akka.remote.testconductor.TestConductorProtocol.Address value) {
          if (addressBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            address_ = value;
          } else {
            addressBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required .Address address = 2;</code>
         */
        public Builder setAddress(
            akka.remote.testconductor.TestConductorProtocol.Address.Builder builderForValue) {
          if (addressBuilder_ == null) {
            address_ = builderForValue.build();
          } else {
            addressBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required .Address address = 2;</code>
         */
        public Builder mergeAddress(akka.remote.testconductor.TestConductorProtocol.Address value) {
          if (addressBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0) &&
              address_ != null &&
              address_ != akka.remote.testconductor.TestConductorProtocol.Address.getDefaultInstance()) {
              getAddressBuilder().mergeFrom(value);
            } else {
              address_ = value;
            }
          } else {
            addressBuilder_.mergeFrom(value);
          }
          if (address_ != null) {
            bitField0_ |= 0x00000002;
            onChanged();
          }
          return this;
        }
        /**
         * <code>required .Address address = 2;</code>
         */
        public Builder clearAddress() {
          bitField0_ = (bitField0_ & ~0x00000002);
          address_ = null;
          if (addressBuilder_ != null) {
            addressBuilder_.dispose();
            addressBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>required .Address address = 2;</code>
         */
        public akka.remote.testconductor.TestConductorProtocol.Address.Builder getAddressBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getAddressFieldBuilder().getBuilder();
        }
        /**
         * <code>required .Address address = 2;</code>
         */
        public akka.remote.testconductor.TestConductorProtocol.AddressOrBuilder getAddressOrBuilder() {
          if (addressBuilder_ != null) {
            return addressBuilder_.getMessageOrBuilder();
          } else {
            return address_ == null ?
                akka.remote.testconductor.TestConductorProtocol.Address.getDefaultInstance() : address_;
          }
        }
        /**
         * <code>required .Address address = 2;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.remote.testconductor.TestConductorProtocol.Address, akka.remote.testconductor.TestConductorProtocol.Address.Builder, akka.remote.testconductor.TestConductorProtocol.AddressOrBuilder> 
            getAddressFieldBuilder() {
          if (addressBuilder_ == null) {
            addressBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.remote.testconductor.TestConductorProtocol.Address, akka.remote.testconductor.TestConductorProtocol.Address.Builder, akka.remote.testconductor.TestConductorProtocol.AddressOrBuilder>(
                    getAddress(),
                    getParentForChildren(),
                    isClean());
            address_ = null;
          }
          return addressBuilder_;
        }
        @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:Hello)
      }
  
      // @@protoc_insertion_point(class_scope:Hello)
      private static final akka.remote.testconductor.TestConductorProtocol.Hello DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.remote.testconductor.TestConductorProtocol.Hello();
      }
  
      public static akka.remote.testconductor.TestConductorProtocol.Hello getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Hello>
          PARSER = new akka.protobufv3.internal.AbstractParser<Hello>() {
        @java.lang.Override
        public Hello parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<Hello> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<Hello> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.remote.testconductor.TestConductorProtocol.Hello getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface EnterBarrierOrBuilder extends
        // @@protoc_insertion_point(interface_extends:EnterBarrier)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required string name = 1;</code>
       * @return Whether the name field is set.
       */
      boolean hasName();
      /**
       * <code>required string name = 1;</code>
       * @return The name.
       */
      java.lang.String getName();
      /**
       * <code>required string name = 1;</code>
       * @return The bytes for name.
       */
      akka.protobufv3.internal.ByteString
          getNameBytes();
  
      /**
       * <code>required .BarrierOp op = 2;</code>
       * @return Whether the op field is set.
       */
      boolean hasOp();
      /**
       * <code>required .BarrierOp op = 2;</code>
       * @return The op.
       */
      akka.remote.testconductor.TestConductorProtocol.BarrierOp getOp();
  
      /**
       * <code>optional int64 timeout = 3;</code>
       * @return Whether the timeout field is set.
       */
      boolean hasTimeout();
      /**
       * <code>optional int64 timeout = 3;</code>
       * @return The timeout.
       */
      long getTimeout();
    }
    /**
     * Protobuf type {@code EnterBarrier}
     */
    public static final class EnterBarrier extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:EnterBarrier)
        EnterBarrierOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use EnterBarrier.newBuilder() to construct.
      private EnterBarrier(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private EnterBarrier() {
        name_ = "";
        op_ = 1;
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new EnterBarrier();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.testconductor.TestConductorProtocol.internal_static_EnterBarrier_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.testconductor.TestConductorProtocol.internal_static_EnterBarrier_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.testconductor.TestConductorProtocol.EnterBarrier.class, akka.remote.testconductor.TestConductorProtocol.EnterBarrier.Builder.class);
      }
  
      private int bitField0_;
      public static final int NAME_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object name_ = "";
      /**
       * <code>required string name = 1;</code>
       * @return Whether the name field is set.
       */
      @java.lang.Override
      public boolean hasName() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string name = 1;</code>
       * @return The name.
       */
      @java.lang.Override
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        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()) {
            name_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string name = 1;</code>
       * @return The bytes for name.
       */
      @java.lang.Override
      public akka.protobufv3.internal.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      public static final int OP_FIELD_NUMBER = 2;
      private int op_ = 1;
      /**
       * <code>required .BarrierOp op = 2;</code>
       * @return Whether the op field is set.
       */
      @java.lang.Override public boolean hasOp() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .BarrierOp op = 2;</code>
       * @return The op.
       */
      @java.lang.Override public akka.remote.testconductor.TestConductorProtocol.BarrierOp getOp() {
        akka.remote.testconductor.TestConductorProtocol.BarrierOp result = akka.remote.testconductor.TestConductorProtocol.BarrierOp.forNumber(op_);
        return result == null ? akka.remote.testconductor.TestConductorProtocol.BarrierOp.Enter : result;
      }
  
      public static final int TIMEOUT_FIELD_NUMBER = 3;
      private long timeout_ = 0L;
      /**
       * <code>optional int64 timeout = 3;</code>
       * @return Whether the timeout field is set.
       */
      @java.lang.Override
      public boolean hasTimeout() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional int64 timeout = 3;</code>
       * @return The timeout.
       */
      @java.lang.Override
      public long getTimeout() {
        return timeout_;
      }
  
      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 (!hasName()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasOp()) {
          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, name_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeEnum(2, op_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeInt64(3, timeout_);
        }
        getUnknownFields().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, name_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeEnumSize(2, op_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeInt64Size(3, timeout_);
        }
        size += getUnknownFields().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.testconductor.TestConductorProtocol.EnterBarrier)) {
          return super.equals(obj);
        }
        akka.remote.testconductor.TestConductorProtocol.EnterBarrier other = (akka.remote.testconductor.TestConductorProtocol.EnterBarrier) obj;
  
        if (hasName() != other.hasName()) return false;
        if (hasName()) {
          if (!getName()
              .equals(other.getName())) return false;
        }
        if (hasOp() != other.hasOp()) return false;
        if (hasOp()) {
          if (op_ != other.op_) return false;
        }
        if (hasTimeout() != other.hasTimeout()) return false;
        if (hasTimeout()) {
          if (getTimeout()
              != other.getTimeout()) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasName()) {
          hash = (37 * hash) + NAME_FIELD_NUMBER;
          hash = (53 * hash) + getName().hashCode();
        }
        if (hasOp()) {
          hash = (37 * hash) + OP_FIELD_NUMBER;
          hash = (53 * hash) + op_;
        }
        if (hasTimeout()) {
          hash = (37 * hash) + TIMEOUT_FIELD_NUMBER;
          hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
              getTimeout());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.remote.testconductor.TestConductorProtocol.EnterBarrier parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.remote.testconductor.TestConductorProtocol.EnterBarrier parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.remote.testconductor.TestConductorProtocol.EnterBarrier parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.remote.testconductor.TestConductorProtocol.EnterBarrier 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.testconductor.TestConductorProtocol.EnterBarrier parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.remote.testconductor.TestConductorProtocol.EnterBarrier parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.remote.testconductor.TestConductorProtocol.EnterBarrier parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.remote.testconductor.TestConductorProtocol.EnterBarrier 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.testconductor.TestConductorProtocol.EnterBarrier parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.remote.testconductor.TestConductorProtocol.EnterBarrier 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.testconductor.TestConductorProtocol.EnterBarrier parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.remote.testconductor.TestConductorProtocol.EnterBarrier 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.testconductor.TestConductorProtocol.EnterBarrier 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 EnterBarrier}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:EnterBarrier)
          akka.remote.testconductor.TestConductorProtocol.EnterBarrierOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.remote.testconductor.TestConductorProtocol.internal_static_EnterBarrier_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.remote.testconductor.TestConductorProtocol.internal_static_EnterBarrier_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.remote.testconductor.TestConductorProtocol.EnterBarrier.class, akka.remote.testconductor.TestConductorProtocol.EnterBarrier.Builder.class);
        }
  
        // Construct using akka.remote.testconductor.TestConductorProtocol.EnterBarrier.newBuilder()
        private Builder() {
  
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
  
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          name_ = "";
          op_ = 1;
          timeout_ = 0L;
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.remote.testconductor.TestConductorProtocol.internal_static_EnterBarrier_descriptor;
        }
  
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.EnterBarrier getDefaultInstanceForType() {
          return akka.remote.testconductor.TestConductorProtocol.EnterBarrier.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.EnterBarrier build() {
          akka.remote.testconductor.TestConductorProtocol.EnterBarrier result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.EnterBarrier buildPartial() {
          akka.remote.testconductor.TestConductorProtocol.EnterBarrier result = new akka.remote.testconductor.TestConductorProtocol.EnterBarrier(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.remote.testconductor.TestConductorProtocol.EnterBarrier result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.name_ = name_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.op_ = op_;
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.timeout_ = timeout_;
            to_bitField0_ |= 0x00000004;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @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.testconductor.TestConductorProtocol.EnterBarrier) {
            return mergeFrom((akka.remote.testconductor.TestConductorProtocol.EnterBarrier)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.remote.testconductor.TestConductorProtocol.EnterBarrier other) {
          if (other == akka.remote.testconductor.TestConductorProtocol.EnterBarrier.getDefaultInstance()) return this;
          if (other.hasName()) {
            name_ = other.name_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (other.hasOp()) {
            setOp(other.getOp());
          }
          if (other.hasTimeout()) {
            setTimeout(other.getTimeout());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasName()) {
            return false;
          }
          if (!hasOp()) {
            return false;
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  name_ = input.readBytes();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 16: {
                  int tmpRaw = input.readEnum();
                  akka.remote.testconductor.TestConductorProtocol.BarrierOp tmpValue =
                      akka.remote.testconductor.TestConductorProtocol.BarrierOp.forNumber(tmpRaw);
                  if (tmpValue == null) {
                    mergeUnknownVarintField(2, tmpRaw);
                  } else {
                    op_ = tmpRaw;
                    bitField0_ |= 0x00000002;
                  }
                  break;
                } // case 16
                case 24: {
                  timeout_ = input.readInt64();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 24
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private java.lang.Object name_ = "";
        /**
         * <code>required string name = 1;</code>
         * @return Whether the name field is set.
         */
        public boolean hasName() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required string name = 1;</code>
         * @return The name.
         */
        public java.lang.String getName() {
          java.lang.Object ref = name_;
          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()) {
              name_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string name = 1;</code>
         * @return The bytes for name.
         */
        public akka.protobufv3.internal.ByteString
            getNameBytes() {
          java.lang.Object ref = name_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            name_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string name = 1;</code>
         * @param value The name to set.
         * @return This builder for chaining.
         */
        public Builder setName(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          name_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required string name = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearName() {
          name_ = getDefaultInstance().getName();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>required string name = 1;</code>
         * @param value The bytes for name to set.
         * @return This builder for chaining.
         */
        public Builder setNameBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          name_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
  
        private int op_ = 1;
        /**
         * <code>required .BarrierOp op = 2;</code>
         * @return Whether the op field is set.
         */
        @java.lang.Override public boolean hasOp() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required .BarrierOp op = 2;</code>
         * @return The op.
         */
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.BarrierOp getOp() {
          akka.remote.testconductor.TestConductorProtocol.BarrierOp result = akka.remote.testconductor.TestConductorProtocol.BarrierOp.forNumber(op_);
          return result == null ? akka.remote.testconductor.TestConductorProtocol.BarrierOp.Enter : result;
        }
        /**
         * <code>required .BarrierOp op = 2;</code>
         * @param value The op to set.
         * @return This builder for chaining.
         */
        public Builder setOp(akka.remote.testconductor.TestConductorProtocol.BarrierOp value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000002;
          op_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * <code>required .BarrierOp op = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearOp() {
          bitField0_ = (bitField0_ & ~0x00000002);
          op_ = 1;
          onChanged();
          return this;
        }
  
        private long timeout_ ;
        /**
         * <code>optional int64 timeout = 3;</code>
         * @return Whether the timeout field is set.
         */
        @java.lang.Override
        public boolean hasTimeout() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>optional int64 timeout = 3;</code>
         * @return The timeout.
         */
        @java.lang.Override
        public long getTimeout() {
          return timeout_;
        }
        /**
         * <code>optional int64 timeout = 3;</code>
         * @param value The timeout to set.
         * @return This builder for chaining.
         */
        public Builder setTimeout(long value) {
  
          timeout_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>optional int64 timeout = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearTimeout() {
          bitField0_ = (bitField0_ & ~0x00000004);
          timeout_ = 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:EnterBarrier)
      }
  
      // @@protoc_insertion_point(class_scope:EnterBarrier)
      private static final akka.remote.testconductor.TestConductorProtocol.EnterBarrier DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.remote.testconductor.TestConductorProtocol.EnterBarrier();
      }
  
      public static akka.remote.testconductor.TestConductorProtocol.EnterBarrier getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<EnterBarrier>
          PARSER = new akka.protobufv3.internal.AbstractParser<EnterBarrier>() {
        @java.lang.Override
        public EnterBarrier parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<EnterBarrier> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<EnterBarrier> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.remote.testconductor.TestConductorProtocol.EnterBarrier getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface AddressRequestOrBuilder extends
        // @@protoc_insertion_point(interface_extends:AddressRequest)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required string node = 1;</code>
       * @return Whether the node field is set.
       */
      boolean hasNode();
      /**
       * <code>required string node = 1;</code>
       * @return The node.
       */
      java.lang.String getNode();
      /**
       * <code>required string node = 1;</code>
       * @return The bytes for node.
       */
      akka.protobufv3.internal.ByteString
          getNodeBytes();
  
      /**
       * <code>optional .Address addr = 2;</code>
       * @return Whether the addr field is set.
       */
      boolean hasAddr();
      /**
       * <code>optional .Address addr = 2;</code>
       * @return The addr.
       */
      akka.remote.testconductor.TestConductorProtocol.Address getAddr();
      /**
       * <code>optional .Address addr = 2;</code>
       */
      akka.remote.testconductor.TestConductorProtocol.AddressOrBuilder getAddrOrBuilder();
    }
    /**
     * Protobuf type {@code AddressRequest}
     */
    public static final class AddressRequest extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:AddressRequest)
        AddressRequestOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use AddressRequest.newBuilder() to construct.
      private AddressRequest(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private AddressRequest() {
        node_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new AddressRequest();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.testconductor.TestConductorProtocol.internal_static_AddressRequest_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.testconductor.TestConductorProtocol.internal_static_AddressRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.testconductor.TestConductorProtocol.AddressRequest.class, akka.remote.testconductor.TestConductorProtocol.AddressRequest.Builder.class);
      }
  
      private int bitField0_;
      public static final int NODE_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object node_ = "";
      /**
       * <code>required string node = 1;</code>
       * @return Whether the node field is set.
       */
      @java.lang.Override
      public boolean hasNode() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string node = 1;</code>
       * @return The node.
       */
      @java.lang.Override
      public java.lang.String getNode() {
        java.lang.Object ref = node_;
        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()) {
            node_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string node = 1;</code>
       * @return The bytes for node.
       */
      @java.lang.Override
      public akka.protobufv3.internal.ByteString
          getNodeBytes() {
        java.lang.Object ref = node_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          node_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      public static final int ADDR_FIELD_NUMBER = 2;
      private akka.remote.testconductor.TestConductorProtocol.Address addr_;
      /**
       * <code>optional .Address addr = 2;</code>
       * @return Whether the addr field is set.
       */
      @java.lang.Override
      public boolean hasAddr() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional .Address addr = 2;</code>
       * @return The addr.
       */
      @java.lang.Override
      public akka.remote.testconductor.TestConductorProtocol.Address getAddr() {
        return addr_ == null ? akka.remote.testconductor.TestConductorProtocol.Address.getDefaultInstance() : addr_;
      }
      /**
       * <code>optional .Address addr = 2;</code>
       */
      @java.lang.Override
      public akka.remote.testconductor.TestConductorProtocol.AddressOrBuilder getAddrOrBuilder() {
        return addr_ == null ? akka.remote.testconductor.TestConductorProtocol.Address.getDefaultInstance() : addr_;
      }
  
      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 (!hasNode()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (hasAddr()) {
          if (!getAddr().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, node_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeMessage(2, getAddr());
        }
        getUnknownFields().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, node_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(2, getAddr());
        }
        size += getUnknownFields().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.testconductor.TestConductorProtocol.AddressRequest)) {
          return super.equals(obj);
        }
        akka.remote.testconductor.TestConductorProtocol.AddressRequest other = (akka.remote.testconductor.TestConductorProtocol.AddressRequest) obj;
  
        if (hasNode() != other.hasNode()) return false;
        if (hasNode()) {
          if (!getNode()
              .equals(other.getNode())) return false;
        }
        if (hasAddr() != other.hasAddr()) return false;
        if (hasAddr()) {
          if (!getAddr()
              .equals(other.getAddr())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasNode()) {
          hash = (37 * hash) + NODE_FIELD_NUMBER;
          hash = (53 * hash) + getNode().hashCode();
        }
        if (hasAddr()) {
          hash = (37 * hash) + ADDR_FIELD_NUMBER;
          hash = (53 * hash) + getAddr().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.remote.testconductor.TestConductorProtocol.AddressRequest parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.remote.testconductor.TestConductorProtocol.AddressRequest parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.remote.testconductor.TestConductorProtocol.AddressRequest parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.remote.testconductor.TestConductorProtocol.AddressRequest 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.testconductor.TestConductorProtocol.AddressRequest parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.remote.testconductor.TestConductorProtocol.AddressRequest parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.remote.testconductor.TestConductorProtocol.AddressRequest parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.remote.testconductor.TestConductorProtocol.AddressRequest 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.testconductor.TestConductorProtocol.AddressRequest parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.remote.testconductor.TestConductorProtocol.AddressRequest 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.testconductor.TestConductorProtocol.AddressRequest parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.remote.testconductor.TestConductorProtocol.AddressRequest 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.testconductor.TestConductorProtocol.AddressRequest 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 AddressRequest}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:AddressRequest)
          akka.remote.testconductor.TestConductorProtocol.AddressRequestOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.remote.testconductor.TestConductorProtocol.internal_static_AddressRequest_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.remote.testconductor.TestConductorProtocol.internal_static_AddressRequest_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.remote.testconductor.TestConductorProtocol.AddressRequest.class, akka.remote.testconductor.TestConductorProtocol.AddressRequest.Builder.class);
        }
  
        // Construct using akka.remote.testconductor.TestConductorProtocol.AddressRequest.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getAddrFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          node_ = "";
          addr_ = null;
          if (addrBuilder_ != null) {
            addrBuilder_.dispose();
            addrBuilder_ = null;
          }
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.remote.testconductor.TestConductorProtocol.internal_static_AddressRequest_descriptor;
        }
  
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.AddressRequest getDefaultInstanceForType() {
          return akka.remote.testconductor.TestConductorProtocol.AddressRequest.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.AddressRequest build() {
          akka.remote.testconductor.TestConductorProtocol.AddressRequest result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.AddressRequest buildPartial() {
          akka.remote.testconductor.TestConductorProtocol.AddressRequest result = new akka.remote.testconductor.TestConductorProtocol.AddressRequest(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.remote.testconductor.TestConductorProtocol.AddressRequest result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.node_ = node_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.addr_ = addrBuilder_ == null
                ? addr_
                : addrBuilder_.build();
            to_bitField0_ |= 0x00000002;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @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.testconductor.TestConductorProtocol.AddressRequest) {
            return mergeFrom((akka.remote.testconductor.TestConductorProtocol.AddressRequest)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.remote.testconductor.TestConductorProtocol.AddressRequest other) {
          if (other == akka.remote.testconductor.TestConductorProtocol.AddressRequest.getDefaultInstance()) return this;
          if (other.hasNode()) {
            node_ = other.node_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (other.hasAddr()) {
            mergeAddr(other.getAddr());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasNode()) {
            return false;
          }
          if (hasAddr()) {
            if (!getAddr().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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  node_ = input.readBytes();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  input.readMessage(
                      getAddrFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private java.lang.Object node_ = "";
        /**
         * <code>required string node = 1;</code>
         * @return Whether the node field is set.
         */
        public boolean hasNode() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required string node = 1;</code>
         * @return The node.
         */
        public java.lang.String getNode() {
          java.lang.Object ref = node_;
          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()) {
              node_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string node = 1;</code>
         * @return The bytes for node.
         */
        public akka.protobufv3.internal.ByteString
            getNodeBytes() {
          java.lang.Object ref = node_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            node_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string node = 1;</code>
         * @param value The node to set.
         * @return This builder for chaining.
         */
        public Builder setNode(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          node_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required string node = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearNode() {
          node_ = getDefaultInstance().getNode();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>required string node = 1;</code>
         * @param value The bytes for node to set.
         * @return This builder for chaining.
         */
        public Builder setNodeBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          node_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
  
        private akka.remote.testconductor.TestConductorProtocol.Address addr_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.remote.testconductor.TestConductorProtocol.Address, akka.remote.testconductor.TestConductorProtocol.Address.Builder, akka.remote.testconductor.TestConductorProtocol.AddressOrBuilder> addrBuilder_;
        /**
         * <code>optional .Address addr = 2;</code>
         * @return Whether the addr field is set.
         */
        public boolean hasAddr() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>optional .Address addr = 2;</code>
         * @return The addr.
         */
        public akka.remote.testconductor.TestConductorProtocol.Address getAddr() {
          if (addrBuilder_ == null) {
            return addr_ == null ? akka.remote.testconductor.TestConductorProtocol.Address.getDefaultInstance() : addr_;
          } else {
            return addrBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .Address addr = 2;</code>
         */
        public Builder setAddr(akka.remote.testconductor.TestConductorProtocol.Address value) {
          if (addrBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            addr_ = value;
          } else {
            addrBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>optional .Address addr = 2;</code>
         */
        public Builder setAddr(
            akka.remote.testconductor.TestConductorProtocol.Address.Builder builderForValue) {
          if (addrBuilder_ == null) {
            addr_ = builderForValue.build();
          } else {
            addrBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>optional .Address addr = 2;</code>
         */
        public Builder mergeAddr(akka.remote.testconductor.TestConductorProtocol.Address value) {
          if (addrBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0) &&
              addr_ != null &&
              addr_ != akka.remote.testconductor.TestConductorProtocol.Address.getDefaultInstance()) {
              getAddrBuilder().mergeFrom(value);
            } else {
              addr_ = value;
            }
          } else {
            addrBuilder_.mergeFrom(value);
          }
          if (addr_ != null) {
            bitField0_ |= 0x00000002;
            onChanged();
          }
          return this;
        }
        /**
         * <code>optional .Address addr = 2;</code>
         */
        public Builder clearAddr() {
          bitField0_ = (bitField0_ & ~0x00000002);
          addr_ = null;
          if (addrBuilder_ != null) {
            addrBuilder_.dispose();
            addrBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>optional .Address addr = 2;</code>
         */
        public akka.remote.testconductor.TestConductorProtocol.Address.Builder getAddrBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getAddrFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .Address addr = 2;</code>
         */
        public akka.remote.testconductor.TestConductorProtocol.AddressOrBuilder getAddrOrBuilder() {
          if (addrBuilder_ != null) {
            return addrBuilder_.getMessageOrBuilder();
          } else {
            return addr_ == null ?
                akka.remote.testconductor.TestConductorProtocol.Address.getDefaultInstance() : addr_;
          }
        }
        /**
         * <code>optional .Address addr = 2;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.remote.testconductor.TestConductorProtocol.Address, akka.remote.testconductor.TestConductorProtocol.Address.Builder, akka.remote.testconductor.TestConductorProtocol.AddressOrBuilder> 
            getAddrFieldBuilder() {
          if (addrBuilder_ == null) {
            addrBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.remote.testconductor.TestConductorProtocol.Address, akka.remote.testconductor.TestConductorProtocol.Address.Builder, akka.remote.testconductor.TestConductorProtocol.AddressOrBuilder>(
                    getAddr(),
                    getParentForChildren(),
                    isClean());
            addr_ = null;
          }
          return addrBuilder_;
        }
        @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:AddressRequest)
      }
  
      // @@protoc_insertion_point(class_scope:AddressRequest)
      private static final akka.remote.testconductor.TestConductorProtocol.AddressRequest DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.remote.testconductor.TestConductorProtocol.AddressRequest();
      }
  
      public static akka.remote.testconductor.TestConductorProtocol.AddressRequest getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<AddressRequest>
          PARSER = new akka.protobufv3.internal.AbstractParser<AddressRequest>() {
        @java.lang.Override
        public AddressRequest parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<AddressRequest> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<AddressRequest> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.remote.testconductor.TestConductorProtocol.AddressRequest getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface AddressOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Address)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required string protocol = 1;</code>
       * @return Whether the protocol field is set.
       */
      boolean hasProtocol();
      /**
       * <code>required string protocol = 1;</code>
       * @return The protocol.
       */
      java.lang.String getProtocol();
      /**
       * <code>required string protocol = 1;</code>
       * @return The bytes for protocol.
       */
      akka.protobufv3.internal.ByteString
          getProtocolBytes();
  
      /**
       * <code>required string system = 2;</code>
       * @return Whether the system field is set.
       */
      boolean hasSystem();
      /**
       * <code>required string system = 2;</code>
       * @return The system.
       */
      java.lang.String getSystem();
      /**
       * <code>required string system = 2;</code>
       * @return The bytes for system.
       */
      akka.protobufv3.internal.ByteString
          getSystemBytes();
  
      /**
       * <code>required string host = 3;</code>
       * @return Whether the host field is set.
       */
      boolean hasHost();
      /**
       * <code>required string host = 3;</code>
       * @return The host.
       */
      java.lang.String getHost();
      /**
       * <code>required string host = 3;</code>
       * @return The bytes for host.
       */
      akka.protobufv3.internal.ByteString
          getHostBytes();
  
      /**
       * <code>required int32 port = 4;</code>
       * @return Whether the port field is set.
       */
      boolean hasPort();
      /**
       * <code>required int32 port = 4;</code>
       * @return The port.
       */
      int getPort();
    }
    /**
     * Protobuf type {@code Address}
     */
    public static final class Address extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:Address)
        AddressOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Address.newBuilder() to construct.
      private Address(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Address() {
        protocol_ = "";
        system_ = "";
        host_ = "";
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new Address();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.testconductor.TestConductorProtocol.internal_static_Address_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.testconductor.TestConductorProtocol.internal_static_Address_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.testconductor.TestConductorProtocol.Address.class, akka.remote.testconductor.TestConductorProtocol.Address.Builder.class);
      }
  
      private int bitField0_;
      public static final int PROTOCOL_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object protocol_ = "";
      /**
       * <code>required string protocol = 1;</code>
       * @return Whether the protocol field is set.
       */
      @java.lang.Override
      public boolean hasProtocol() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string protocol = 1;</code>
       * @return The protocol.
       */
      @java.lang.Override
      public java.lang.String getProtocol() {
        java.lang.Object ref = protocol_;
        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()) {
            protocol_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string protocol = 1;</code>
       * @return The bytes for protocol.
       */
      @java.lang.Override
      public akka.protobufv3.internal.ByteString
          getProtocolBytes() {
        java.lang.Object ref = protocol_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          protocol_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      public static final int SYSTEM_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private volatile java.lang.Object system_ = "";
      /**
       * <code>required string system = 2;</code>
       * @return Whether the system field is set.
       */
      @java.lang.Override
      public boolean hasSystem() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string system = 2;</code>
       * @return The system.
       */
      @java.lang.Override
      public java.lang.String getSystem() {
        java.lang.Object ref = system_;
        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()) {
            system_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string system = 2;</code>
       * @return The bytes for system.
       */
      @java.lang.Override
      public akka.protobufv3.internal.ByteString
          getSystemBytes() {
        java.lang.Object ref = system_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          system_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      public static final int HOST_FIELD_NUMBER = 3;
      @SuppressWarnings("serial")
      private volatile java.lang.Object host_ = "";
      /**
       * <code>required string host = 3;</code>
       * @return Whether the host field is set.
       */
      @java.lang.Override
      public boolean hasHost() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required string host = 3;</code>
       * @return The host.
       */
      @java.lang.Override
      public java.lang.String getHost() {
        java.lang.Object ref = host_;
        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()) {
            host_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string host = 3;</code>
       * @return The bytes for host.
       */
      @java.lang.Override
      public akka.protobufv3.internal.ByteString
          getHostBytes() {
        java.lang.Object ref = host_;
        if (ref instanceof java.lang.String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          host_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
  
      public static final int PORT_FIELD_NUMBER = 4;
      private int port_ = 0;
      /**
       * <code>required int32 port = 4;</code>
       * @return Whether the port field is set.
       */
      @java.lang.Override
      public boolean hasPort() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>required int32 port = 4;</code>
       * @return The port.
       */
      @java.lang.Override
      public int getPort() {
        return port_;
      }
  
      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 (!hasProtocol()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasSystem()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasHost()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasPort()) {
          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, protocol_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 2, system_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 3, host_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          output.writeInt32(4, port_);
        }
        getUnknownFields().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, protocol_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(2, system_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(3, host_);
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeInt32Size(4, port_);
        }
        size += getUnknownFields().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.testconductor.TestConductorProtocol.Address)) {
          return super.equals(obj);
        }
        akka.remote.testconductor.TestConductorProtocol.Address other = (akka.remote.testconductor.TestConductorProtocol.Address) obj;
  
        if (hasProtocol() != other.hasProtocol()) return false;
        if (hasProtocol()) {
          if (!getProtocol()
              .equals(other.getProtocol())) return false;
        }
        if (hasSystem() != other.hasSystem()) return false;
        if (hasSystem()) {
          if (!getSystem()
              .equals(other.getSystem())) return false;
        }
        if (hasHost() != other.hasHost()) return false;
        if (hasHost()) {
          if (!getHost()
              .equals(other.getHost())) return false;
        }
        if (hasPort() != other.hasPort()) return false;
        if (hasPort()) {
          if (getPort()
              != other.getPort()) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasProtocol()) {
          hash = (37 * hash) + PROTOCOL_FIELD_NUMBER;
          hash = (53 * hash) + getProtocol().hashCode();
        }
        if (hasSystem()) {
          hash = (37 * hash) + SYSTEM_FIELD_NUMBER;
          hash = (53 * hash) + getSystem().hashCode();
        }
        if (hasHost()) {
          hash = (37 * hash) + HOST_FIELD_NUMBER;
          hash = (53 * hash) + getHost().hashCode();
        }
        if (hasPort()) {
          hash = (37 * hash) + PORT_FIELD_NUMBER;
          hash = (53 * hash) + getPort();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.remote.testconductor.TestConductorProtocol.Address parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Address parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Address parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Address 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.testconductor.TestConductorProtocol.Address parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Address parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Address parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Address 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.testconductor.TestConductorProtocol.Address parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.remote.testconductor.TestConductorProtocol.Address 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.testconductor.TestConductorProtocol.Address parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.remote.testconductor.TestConductorProtocol.Address 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.testconductor.TestConductorProtocol.Address 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 Address}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:Address)
          akka.remote.testconductor.TestConductorProtocol.AddressOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.remote.testconductor.TestConductorProtocol.internal_static_Address_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.remote.testconductor.TestConductorProtocol.internal_static_Address_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.remote.testconductor.TestConductorProtocol.Address.class, akka.remote.testconductor.TestConductorProtocol.Address.Builder.class);
        }
  
        // Construct using akka.remote.testconductor.TestConductorProtocol.Address.newBuilder()
        private Builder() {
  
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
  
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          protocol_ = "";
          system_ = "";
          host_ = "";
          port_ = 0;
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.remote.testconductor.TestConductorProtocol.internal_static_Address_descriptor;
        }
  
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.Address getDefaultInstanceForType() {
          return akka.remote.testconductor.TestConductorProtocol.Address.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.Address build() {
          akka.remote.testconductor.TestConductorProtocol.Address result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.Address buildPartial() {
          akka.remote.testconductor.TestConductorProtocol.Address result = new akka.remote.testconductor.TestConductorProtocol.Address(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.remote.testconductor.TestConductorProtocol.Address result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.protocol_ = protocol_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.system_ = system_;
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.host_ = host_;
            to_bitField0_ |= 0x00000004;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.port_ = port_;
            to_bitField0_ |= 0x00000008;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @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.testconductor.TestConductorProtocol.Address) {
            return mergeFrom((akka.remote.testconductor.TestConductorProtocol.Address)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.remote.testconductor.TestConductorProtocol.Address other) {
          if (other == akka.remote.testconductor.TestConductorProtocol.Address.getDefaultInstance()) return this;
          if (other.hasProtocol()) {
            protocol_ = other.protocol_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (other.hasSystem()) {
            system_ = other.system_;
            bitField0_ |= 0x00000002;
            onChanged();
          }
          if (other.hasHost()) {
            host_ = other.host_;
            bitField0_ |= 0x00000004;
            onChanged();
          }
          if (other.hasPort()) {
            setPort(other.getPort());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasProtocol()) {
            return false;
          }
          if (!hasSystem()) {
            return false;
          }
          if (!hasHost()) {
            return false;
          }
          if (!hasPort()) {
            return false;
          }
          return true;
        }
  
        @java.lang.Override
        public Builder mergeFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  protocol_ = input.readBytes();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  system_ = input.readBytes();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                case 26: {
                  host_ = input.readBytes();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 26
                case 32: {
                  port_ = input.readInt32();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 32
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private java.lang.Object protocol_ = "";
        /**
         * <code>required string protocol = 1;</code>
         * @return Whether the protocol field is set.
         */
        public boolean hasProtocol() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required string protocol = 1;</code>
         * @return The protocol.
         */
        public java.lang.String getProtocol() {
          java.lang.Object ref = protocol_;
          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()) {
              protocol_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string protocol = 1;</code>
         * @return The bytes for protocol.
         */
        public akka.protobufv3.internal.ByteString
            getProtocolBytes() {
          java.lang.Object ref = protocol_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            protocol_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string protocol = 1;</code>
         * @param value The protocol to set.
         * @return This builder for chaining.
         */
        public Builder setProtocol(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          protocol_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>required string protocol = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearProtocol() {
          protocol_ = getDefaultInstance().getProtocol();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>required string protocol = 1;</code>
         * @param value The bytes for protocol to set.
         * @return This builder for chaining.
         */
        public Builder setProtocolBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          protocol_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
  
        private java.lang.Object system_ = "";
        /**
         * <code>required string system = 2;</code>
         * @return Whether the system field is set.
         */
        public boolean hasSystem() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>required string system = 2;</code>
         * @return The system.
         */
        public java.lang.String getSystem() {
          java.lang.Object ref = system_;
          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()) {
              system_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string system = 2;</code>
         * @return The bytes for system.
         */
        public akka.protobufv3.internal.ByteString
            getSystemBytes() {
          java.lang.Object ref = system_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            system_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string system = 2;</code>
         * @param value The system to set.
         * @return This builder for chaining.
         */
        public Builder setSystem(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          system_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * <code>required string system = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearSystem() {
          system_ = getDefaultInstance().getSystem();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * <code>required string system = 2;</code>
         * @param value The bytes for system to set.
         * @return This builder for chaining.
         */
        public Builder setSystemBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          system_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
  
        private java.lang.Object host_ = "";
        /**
         * <code>required string host = 3;</code>
         * @return Whether the host field is set.
         */
        public boolean hasHost() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>required string host = 3;</code>
         * @return The host.
         */
        public java.lang.String getHost() {
          java.lang.Object ref = host_;
          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()) {
              host_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string host = 3;</code>
         * @return The bytes for host.
         */
        public akka.protobufv3.internal.ByteString
            getHostBytes() {
          java.lang.Object ref = host_;
          if (ref instanceof String) {
            akka.protobufv3.internal.ByteString b = 
                akka.protobufv3.internal.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            host_ = b;
            return b;
          } else {
            return (akka.protobufv3.internal.ByteString) ref;
          }
        }
        /**
         * <code>required string host = 3;</code>
         * @param value The host to set.
         * @return This builder for chaining.
         */
        public Builder setHost(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          host_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>required string host = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearHost() {
          host_ = getDefaultInstance().getHost();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
          return this;
        }
        /**
         * <code>required string host = 3;</code>
         * @param value The bytes for host to set.
         * @return This builder for chaining.
         */
        public Builder setHostBytes(
            akka.protobufv3.internal.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          host_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
  
        private int port_ ;
        /**
         * <code>required int32 port = 4;</code>
         * @return Whether the port field is set.
         */
        @java.lang.Override
        public boolean hasPort() {
          return ((bitField0_ & 0x00000008) != 0);
        }
        /**
         * <code>required int32 port = 4;</code>
         * @return The port.
         */
        @java.lang.Override
        public int getPort() {
          return port_;
        }
        /**
         * <code>required int32 port = 4;</code>
         * @param value The port to set.
         * @return This builder for chaining.
         */
        public Builder setPort(int value) {
  
          port_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>required int32 port = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearPort() {
          bitField0_ = (bitField0_ & ~0x00000008);
          port_ = 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:Address)
      }
  
      // @@protoc_insertion_point(class_scope:Address)
      private static final akka.remote.testconductor.TestConductorProtocol.Address DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.remote.testconductor.TestConductorProtocol.Address();
      }
  
      public static akka.remote.testconductor.TestConductorProtocol.Address getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Address>
          PARSER = new akka.protobufv3.internal.AbstractParser<Address>() {
        @java.lang.Override
        public Address parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<Address> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<Address> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.remote.testconductor.TestConductorProtocol.Address getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    public interface InjectFailureOrBuilder extends
        // @@protoc_insertion_point(interface_extends:InjectFailure)
        akka.protobufv3.internal.MessageOrBuilder {
  
      /**
       * <code>required .FailType failure = 1;</code>
       * @return Whether the failure field is set.
       */
      boolean hasFailure();
      /**
       * <code>required .FailType failure = 1;</code>
       * @return The failure.
       */
      akka.remote.testconductor.TestConductorProtocol.FailType getFailure();
  
      /**
       * <code>optional .Direction direction = 2;</code>
       * @return Whether the direction field is set.
       */
      boolean hasDirection();
      /**
       * <code>optional .Direction direction = 2;</code>
       * @return The direction.
       */
      akka.remote.testconductor.TestConductorProtocol.Direction getDirection();
  
      /**
       * <code>optional .Address address = 3;</code>
       * @return Whether the address field is set.
       */
      boolean hasAddress();
      /**
       * <code>optional .Address address = 3;</code>
       * @return The address.
       */
      akka.remote.testconductor.TestConductorProtocol.Address getAddress();
      /**
       * <code>optional .Address address = 3;</code>
       */
      akka.remote.testconductor.TestConductorProtocol.AddressOrBuilder getAddressOrBuilder();
  
      /**
       * <code>optional float rateMBit = 6;</code>
       * @return Whether the rateMBit field is set.
       */
      boolean hasRateMBit();
      /**
       * <code>optional float rateMBit = 6;</code>
       * @return The rateMBit.
       */
      float getRateMBit();
  
      /**
       * <code>optional int32 exitValue = 7;</code>
       * @return Whether the exitValue field is set.
       */
      boolean hasExitValue();
      /**
       * <code>optional int32 exitValue = 7;</code>
       * @return The exitValue.
       */
      int getExitValue();
    }
    /**
     * Protobuf type {@code InjectFailure}
     */
    public static final class InjectFailure extends
        akka.protobufv3.internal.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:InjectFailure)
        InjectFailureOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use InjectFailure.newBuilder() to construct.
      private InjectFailure(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private InjectFailure() {
        failure_ = 1;
        direction_ = 1;
      }
  
      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
        return new InjectFailure();
      }
  
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.testconductor.TestConductorProtocol.internal_static_InjectFailure_descriptor;
      }
  
      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.testconductor.TestConductorProtocol.internal_static_InjectFailure_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.testconductor.TestConductorProtocol.InjectFailure.class, akka.remote.testconductor.TestConductorProtocol.InjectFailure.Builder.class);
      }
  
      private int bitField0_;
      public static final int FAILURE_FIELD_NUMBER = 1;
      private int failure_ = 1;
      /**
       * <code>required .FailType failure = 1;</code>
       * @return Whether the failure field is set.
       */
      @java.lang.Override public boolean hasFailure() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .FailType failure = 1;</code>
       * @return The failure.
       */
      @java.lang.Override public akka.remote.testconductor.TestConductorProtocol.FailType getFailure() {
        akka.remote.testconductor.TestConductorProtocol.FailType result = akka.remote.testconductor.TestConductorProtocol.FailType.forNumber(failure_);
        return result == null ? akka.remote.testconductor.TestConductorProtocol.FailType.Throttle : result;
      }
  
      public static final int DIRECTION_FIELD_NUMBER = 2;
      private int direction_ = 1;
      /**
       * <code>optional .Direction direction = 2;</code>
       * @return Whether the direction field is set.
       */
      @java.lang.Override public boolean hasDirection() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional .Direction direction = 2;</code>
       * @return The direction.
       */
      @java.lang.Override public akka.remote.testconductor.TestConductorProtocol.Direction getDirection() {
        akka.remote.testconductor.TestConductorProtocol.Direction result = akka.remote.testconductor.TestConductorProtocol.Direction.forNumber(direction_);
        return result == null ? akka.remote.testconductor.TestConductorProtocol.Direction.Send : result;
      }
  
      public static final int ADDRESS_FIELD_NUMBER = 3;
      private akka.remote.testconductor.TestConductorProtocol.Address address_;
      /**
       * <code>optional .Address address = 3;</code>
       * @return Whether the address field is set.
       */
      @java.lang.Override
      public boolean hasAddress() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional .Address address = 3;</code>
       * @return The address.
       */
      @java.lang.Override
      public akka.remote.testconductor.TestConductorProtocol.Address getAddress() {
        return address_ == null ? akka.remote.testconductor.TestConductorProtocol.Address.getDefaultInstance() : address_;
      }
      /**
       * <code>optional .Address address = 3;</code>
       */
      @java.lang.Override
      public akka.remote.testconductor.TestConductorProtocol.AddressOrBuilder getAddressOrBuilder() {
        return address_ == null ? akka.remote.testconductor.TestConductorProtocol.Address.getDefaultInstance() : address_;
      }
  
      public static final int RATEMBIT_FIELD_NUMBER = 6;
      private float rateMBit_ = 0F;
      /**
       * <code>optional float rateMBit = 6;</code>
       * @return Whether the rateMBit field is set.
       */
      @java.lang.Override
      public boolean hasRateMBit() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>optional float rateMBit = 6;</code>
       * @return The rateMBit.
       */
      @java.lang.Override
      public float getRateMBit() {
        return rateMBit_;
      }
  
      public static final int EXITVALUE_FIELD_NUMBER = 7;
      private int exitValue_ = 0;
      /**
       * <code>optional int32 exitValue = 7;</code>
       * @return Whether the exitValue field is set.
       */
      @java.lang.Override
      public boolean hasExitValue() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <code>optional int32 exitValue = 7;</code>
       * @return The exitValue.
       */
      @java.lang.Override
      public int getExitValue() {
        return exitValue_;
      }
  
      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 (!hasFailure()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (hasAddress()) {
          if (!getAddress().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.writeEnum(1, failure_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeEnum(2, direction_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeMessage(3, getAddress());
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          output.writeFloat(6, rateMBit_);
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          output.writeInt32(7, exitValue_);
        }
        getUnknownFields().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, failure_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeEnumSize(2, direction_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeMessageSize(3, getAddress());
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeFloatSize(6, rateMBit_);
        }
        if (((bitField0_ & 0x00000010) != 0)) {
          size += akka.protobufv3.internal.CodedOutputStream
            .computeInt32Size(7, exitValue_);
        }
        size += getUnknownFields().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.testconductor.TestConductorProtocol.InjectFailure)) {
          return super.equals(obj);
        }
        akka.remote.testconductor.TestConductorProtocol.InjectFailure other = (akka.remote.testconductor.TestConductorProtocol.InjectFailure) obj;
  
        if (hasFailure() != other.hasFailure()) return false;
        if (hasFailure()) {
          if (failure_ != other.failure_) return false;
        }
        if (hasDirection() != other.hasDirection()) return false;
        if (hasDirection()) {
          if (direction_ != other.direction_) return false;
        }
        if (hasAddress() != other.hasAddress()) return false;
        if (hasAddress()) {
          if (!getAddress()
              .equals(other.getAddress())) return false;
        }
        if (hasRateMBit() != other.hasRateMBit()) return false;
        if (hasRateMBit()) {
          if (java.lang.Float.floatToIntBits(getRateMBit())
              != java.lang.Float.floatToIntBits(
                  other.getRateMBit())) return false;
        }
        if (hasExitValue() != other.hasExitValue()) return false;
        if (hasExitValue()) {
          if (getExitValue()
              != other.getExitValue()) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
  
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasFailure()) {
          hash = (37 * hash) + FAILURE_FIELD_NUMBER;
          hash = (53 * hash) + failure_;
        }
        if (hasDirection()) {
          hash = (37 * hash) + DIRECTION_FIELD_NUMBER;
          hash = (53 * hash) + direction_;
        }
        if (hasAddress()) {
          hash = (37 * hash) + ADDRESS_FIELD_NUMBER;
          hash = (53 * hash) + getAddress().hashCode();
        }
        if (hasRateMBit()) {
          hash = (37 * hash) + RATEMBIT_FIELD_NUMBER;
          hash = (53 * hash) + java.lang.Float.floatToIntBits(
              getRateMBit());
        }
        if (hasExitValue()) {
          hash = (37 * hash) + EXITVALUE_FIELD_NUMBER;
          hash = (53 * hash) + getExitValue();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }
  
      public static akka.remote.testconductor.TestConductorProtocol.InjectFailure parseFrom(
          java.nio.ByteBuffer data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.remote.testconductor.TestConductorProtocol.InjectFailure parseFrom(
          java.nio.ByteBuffer data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.remote.testconductor.TestConductorProtocol.InjectFailure parseFrom(
          akka.protobufv3.internal.ByteString data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.remote.testconductor.TestConductorProtocol.InjectFailure 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.testconductor.TestConductorProtocol.InjectFailure parseFrom(byte[] data)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static akka.remote.testconductor.TestConductorProtocol.InjectFailure parseFrom(
          byte[] data,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static akka.remote.testconductor.TestConductorProtocol.InjectFailure parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.remote.testconductor.TestConductorProtocol.InjectFailure 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.testconductor.TestConductorProtocol.InjectFailure parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
  
      public static akka.remote.testconductor.TestConductorProtocol.InjectFailure 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.testconductor.TestConductorProtocol.InjectFailure parseFrom(
          akka.protobufv3.internal.CodedInputStream input)
          throws java.io.IOException {
        return akka.protobufv3.internal.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static akka.remote.testconductor.TestConductorProtocol.InjectFailure 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.testconductor.TestConductorProtocol.InjectFailure 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 InjectFailure}
       */
      public static final class Builder extends
          akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:InjectFailure)
          akka.remote.testconductor.TestConductorProtocol.InjectFailureOrBuilder {
        public static final akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptor() {
          return akka.remote.testconductor.TestConductorProtocol.internal_static_InjectFailure_descriptor;
        }
  
        @java.lang.Override
        protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return akka.remote.testconductor.TestConductorProtocol.internal_static_InjectFailure_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  akka.remote.testconductor.TestConductorProtocol.InjectFailure.class, akka.remote.testconductor.TestConductorProtocol.InjectFailure.Builder.class);
        }
  
        // Construct using akka.remote.testconductor.TestConductorProtocol.InjectFailure.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (akka.protobufv3.internal.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getAddressFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          failure_ = 1;
          direction_ = 1;
          address_ = null;
          if (addressBuilder_ != null) {
            addressBuilder_.dispose();
            addressBuilder_ = null;
          }
          rateMBit_ = 0F;
          exitValue_ = 0;
          return this;
        }
  
        @java.lang.Override
        public akka.protobufv3.internal.Descriptors.Descriptor
            getDescriptorForType() {
          return akka.remote.testconductor.TestConductorProtocol.internal_static_InjectFailure_descriptor;
        }
  
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.InjectFailure getDefaultInstanceForType() {
          return akka.remote.testconductor.TestConductorProtocol.InjectFailure.getDefaultInstance();
        }
  
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.InjectFailure build() {
          akka.remote.testconductor.TestConductorProtocol.InjectFailure result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.InjectFailure buildPartial() {
          akka.remote.testconductor.TestConductorProtocol.InjectFailure result = new akka.remote.testconductor.TestConductorProtocol.InjectFailure(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }
  
        private void buildPartial0(akka.remote.testconductor.TestConductorProtocol.InjectFailure result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.failure_ = failure_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.direction_ = direction_;
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.address_ = addressBuilder_ == null
                ? address_
                : addressBuilder_.build();
            to_bitField0_ |= 0x00000004;
          }
          if (((from_bitField0_ & 0x00000008) != 0)) {
            result.rateMBit_ = rateMBit_;
            to_bitField0_ |= 0x00000008;
          }
          if (((from_bitField0_ & 0x00000010) != 0)) {
            result.exitValue_ = exitValue_;
            to_bitField0_ |= 0x00000010;
          }
          result.bitField0_ |= to_bitField0_;
        }
  
        @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.testconductor.TestConductorProtocol.InjectFailure) {
            return mergeFrom((akka.remote.testconductor.TestConductorProtocol.InjectFailure)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(akka.remote.testconductor.TestConductorProtocol.InjectFailure other) {
          if (other == akka.remote.testconductor.TestConductorProtocol.InjectFailure.getDefaultInstance()) return this;
          if (other.hasFailure()) {
            setFailure(other.getFailure());
          }
          if (other.hasDirection()) {
            setDirection(other.getDirection());
          }
          if (other.hasAddress()) {
            mergeAddress(other.getAddress());
          }
          if (other.hasRateMBit()) {
            setRateMBit(other.getRateMBit());
          }
          if (other.hasExitValue()) {
            setExitValue(other.getExitValue());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }
  
        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasFailure()) {
            return false;
          }
          if (hasAddress()) {
            if (!getAddress().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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 8: {
                  int tmpRaw = input.readEnum();
                  akka.remote.testconductor.TestConductorProtocol.FailType tmpValue =
                      akka.remote.testconductor.TestConductorProtocol.FailType.forNumber(tmpRaw);
                  if (tmpValue == null) {
                    mergeUnknownVarintField(1, tmpRaw);
                  } else {
                    failure_ = tmpRaw;
                    bitField0_ |= 0x00000001;
                  }
                  break;
                } // case 8
                case 16: {
                  int tmpRaw = input.readEnum();
                  akka.remote.testconductor.TestConductorProtocol.Direction tmpValue =
                      akka.remote.testconductor.TestConductorProtocol.Direction.forNumber(tmpRaw);
                  if (tmpValue == null) {
                    mergeUnknownVarintField(2, tmpRaw);
                  } else {
                    direction_ = tmpRaw;
                    bitField0_ |= 0x00000002;
                  }
                  break;
                } // case 16
                case 26: {
                  input.readMessage(
                      getAddressFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000004;
                  break;
                } // case 26
                case 53: {
                  rateMBit_ = input.readFloat();
                  bitField0_ |= 0x00000008;
                  break;
                } // case 53
                case 56: {
                  exitValue_ = input.readInt32();
                  bitField0_ |= 0x00000010;
                  break;
                } // case 56
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;
  
        private int failure_ = 1;
        /**
         * <code>required .FailType failure = 1;</code>
         * @return Whether the failure field is set.
         */
        @java.lang.Override public boolean hasFailure() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * <code>required .FailType failure = 1;</code>
         * @return The failure.
         */
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.FailType getFailure() {
          akka.remote.testconductor.TestConductorProtocol.FailType result = akka.remote.testconductor.TestConductorProtocol.FailType.forNumber(failure_);
          return result == null ? akka.remote.testconductor.TestConductorProtocol.FailType.Throttle : result;
        }
        /**
         * <code>required .FailType failure = 1;</code>
         * @param value The failure to set.
         * @return This builder for chaining.
         */
        public Builder setFailure(akka.remote.testconductor.TestConductorProtocol.FailType value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000001;
          failure_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * <code>required .FailType failure = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearFailure() {
          bitField0_ = (bitField0_ & ~0x00000001);
          failure_ = 1;
          onChanged();
          return this;
        }
  
        private int direction_ = 1;
        /**
         * <code>optional .Direction direction = 2;</code>
         * @return Whether the direction field is set.
         */
        @java.lang.Override public boolean hasDirection() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * <code>optional .Direction direction = 2;</code>
         * @return The direction.
         */
        @java.lang.Override
        public akka.remote.testconductor.TestConductorProtocol.Direction getDirection() {
          akka.remote.testconductor.TestConductorProtocol.Direction result = akka.remote.testconductor.TestConductorProtocol.Direction.forNumber(direction_);
          return result == null ? akka.remote.testconductor.TestConductorProtocol.Direction.Send : result;
        }
        /**
         * <code>optional .Direction direction = 2;</code>
         * @param value The direction to set.
         * @return This builder for chaining.
         */
        public Builder setDirection(akka.remote.testconductor.TestConductorProtocol.Direction value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000002;
          direction_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * <code>optional .Direction direction = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearDirection() {
          bitField0_ = (bitField0_ & ~0x00000002);
          direction_ = 1;
          onChanged();
          return this;
        }
  
        private akka.remote.testconductor.TestConductorProtocol.Address address_;
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.remote.testconductor.TestConductorProtocol.Address, akka.remote.testconductor.TestConductorProtocol.Address.Builder, akka.remote.testconductor.TestConductorProtocol.AddressOrBuilder> addressBuilder_;
        /**
         * <code>optional .Address address = 3;</code>
         * @return Whether the address field is set.
         */
        public boolean hasAddress() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * <code>optional .Address address = 3;</code>
         * @return The address.
         */
        public akka.remote.testconductor.TestConductorProtocol.Address getAddress() {
          if (addressBuilder_ == null) {
            return address_ == null ? akka.remote.testconductor.TestConductorProtocol.Address.getDefaultInstance() : address_;
          } else {
            return addressBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .Address address = 3;</code>
         */
        public Builder setAddress(akka.remote.testconductor.TestConductorProtocol.Address value) {
          if (addressBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            address_ = value;
          } else {
            addressBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>optional .Address address = 3;</code>
         */
        public Builder setAddress(
            akka.remote.testconductor.TestConductorProtocol.Address.Builder builderForValue) {
          if (addressBuilder_ == null) {
            address_ = builderForValue.build();
          } else {
            addressBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * <code>optional .Address address = 3;</code>
         */
        public Builder mergeAddress(akka.remote.testconductor.TestConductorProtocol.Address value) {
          if (addressBuilder_ == null) {
            if (((bitField0_ & 0x00000004) != 0) &&
              address_ != null &&
              address_ != akka.remote.testconductor.TestConductorProtocol.Address.getDefaultInstance()) {
              getAddressBuilder().mergeFrom(value);
            } else {
              address_ = value;
            }
          } else {
            addressBuilder_.mergeFrom(value);
          }
          if (address_ != null) {
            bitField0_ |= 0x00000004;
            onChanged();
          }
          return this;
        }
        /**
         * <code>optional .Address address = 3;</code>
         */
        public Builder clearAddress() {
          bitField0_ = (bitField0_ & ~0x00000004);
          address_ = null;
          if (addressBuilder_ != null) {
            addressBuilder_.dispose();
            addressBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * <code>optional .Address address = 3;</code>
         */
        public akka.remote.testconductor.TestConductorProtocol.Address.Builder getAddressBuilder() {
          bitField0_ |= 0x00000004;
          onChanged();
          return getAddressFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .Address address = 3;</code>
         */
        public akka.remote.testconductor.TestConductorProtocol.AddressOrBuilder getAddressOrBuilder() {
          if (addressBuilder_ != null) {
            return addressBuilder_.getMessageOrBuilder();
          } else {
            return address_ == null ?
                akka.remote.testconductor.TestConductorProtocol.Address.getDefaultInstance() : address_;
          }
        }
        /**
         * <code>optional .Address address = 3;</code>
         */
        private akka.protobufv3.internal.SingleFieldBuilderV3<
            akka.remote.testconductor.TestConductorProtocol.Address, akka.remote.testconductor.TestConductorProtocol.Address.Builder, akka.remote.testconductor.TestConductorProtocol.AddressOrBuilder> 
            getAddressFieldBuilder() {
          if (addressBuilder_ == null) {
            addressBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
                akka.remote.testconductor.TestConductorProtocol.Address, akka.remote.testconductor.TestConductorProtocol.Address.Builder, akka.remote.testconductor.TestConductorProtocol.AddressOrBuilder>(
                    getAddress(),
                    getParentForChildren(),
                    isClean());
            address_ = null;
          }
          return addressBuilder_;
        }
  
        private float rateMBit_ ;
        /**
         * <code>optional float rateMBit = 6;</code>
         * @return Whether the rateMBit field is set.
         */
        @java.lang.Override
        public boolean hasRateMBit() {
          return ((bitField0_ & 0x00000008) != 0);
        }
        /**
         * <code>optional float rateMBit = 6;</code>
         * @return The rateMBit.
         */
        @java.lang.Override
        public float getRateMBit() {
          return rateMBit_;
        }
        /**
         * <code>optional float rateMBit = 6;</code>
         * @param value The rateMBit to set.
         * @return This builder for chaining.
         */
        public Builder setRateMBit(float value) {
  
          rateMBit_ = value;
          bitField0_ |= 0x00000008;
          onChanged();
          return this;
        }
        /**
         * <code>optional float rateMBit = 6;</code>
         * @return This builder for chaining.
         */
        public Builder clearRateMBit() {
          bitField0_ = (bitField0_ & ~0x00000008);
          rateMBit_ = 0F;
          onChanged();
          return this;
        }
  
        private int exitValue_ ;
        /**
         * <code>optional int32 exitValue = 7;</code>
         * @return Whether the exitValue field is set.
         */
        @java.lang.Override
        public boolean hasExitValue() {
          return ((bitField0_ & 0x00000010) != 0);
        }
        /**
         * <code>optional int32 exitValue = 7;</code>
         * @return The exitValue.
         */
        @java.lang.Override
        public int getExitValue() {
          return exitValue_;
        }
        /**
         * <code>optional int32 exitValue = 7;</code>
         * @param value The exitValue to set.
         * @return This builder for chaining.
         */
        public Builder setExitValue(int value) {
  
          exitValue_ = value;
          bitField0_ |= 0x00000010;
          onChanged();
          return this;
        }
        /**
         * <code>optional int32 exitValue = 7;</code>
         * @return This builder for chaining.
         */
        public Builder clearExitValue() {
          bitField0_ = (bitField0_ & ~0x00000010);
          exitValue_ = 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:InjectFailure)
      }
  
      // @@protoc_insertion_point(class_scope:InjectFailure)
      private static final akka.remote.testconductor.TestConductorProtocol.InjectFailure DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new akka.remote.testconductor.TestConductorProtocol.InjectFailure();
      }
  
      public static akka.remote.testconductor.TestConductorProtocol.InjectFailure getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<InjectFailure>
          PARSER = new akka.protobufv3.internal.AbstractParser<InjectFailure>() {
        @java.lang.Override
        public InjectFailure parsePartialFrom(
            akka.protobufv3.internal.CodedInputStream input,
            akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
            throws akka.protobufv3.internal.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (akka.protobufv3.internal.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new akka.protobufv3.internal.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };
  
      public static akka.protobufv3.internal.Parser<InjectFailure> parser() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.protobufv3.internal.Parser<InjectFailure> getParserForType() {
        return PARSER;
      }
  
      @java.lang.Override
      public akka.remote.testconductor.TestConductorProtocol.InjectFailure getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }
  
    }
  
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_Wrapper_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_Wrapper_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_Hello_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_Hello_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_EnterBarrier_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_EnterBarrier_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_AddressRequest_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_AddressRequest_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_Address_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_Address_fieldAccessorTable;
    private static final akka.protobufv3.internal.Descriptors.Descriptor
      internal_static_InjectFailure_descriptor;
    private static final 
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internal_static_InjectFailure_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\033TestConductorProtocol.proto\"\216\001\n\007Wrappe" +
        "r\022\025\n\005hello\030\001 \001(\0132\006.Hello\022\036\n\007barrier\030\002 \001(" +
        "\0132\r.EnterBarrier\022\037\n\007failure\030\003 \001(\0132\016.Inje" +
        "ctFailure\022\014\n\004done\030\004 \001(\t\022\035\n\004addr\030\005 \001(\0132\017." +
        "AddressRequest\"0\n\005Hello\022\014\n\004name\030\001 \002(\t\022\031\n" +
        "\007address\030\002 \002(\0132\010.Address\"E\n\014EnterBarrier" +
        "\022\014\n\004name\030\001 \002(\t\022\026\n\002op\030\002 \002(\0162\n.BarrierOp\022\017" +
        "\n\007timeout\030\003 \001(\003\"6\n\016AddressRequest\022\014\n\004nod" +
        "e\030\001 \002(\t\022\026\n\004addr\030\002 \001(\0132\010.Address\"G\n\007Addre" +
        "ss\022\020\n\010protocol\030\001 \002(\t\022\016\n\006system\030\002 \002(\t\022\014\n\004" +
        "host\030\003 \002(\t\022\014\n\004port\030\004 \002(\005\"\212\001\n\rInjectFailu" +
        "re\022\032\n\007failure\030\001 \002(\0162\t.FailType\022\035\n\tdirect" +
        "ion\030\002 \001(\0162\n.Direction\022\031\n\007address\030\003 \001(\0132\010" +
        ".Address\022\020\n\010rateMBit\030\006 \001(\002\022\021\n\texitValue\030" +
        "\007 \001(\005*;\n\tBarrierOp\022\t\n\005Enter\020\001\022\010\n\004Fail\020\002\022" +
        "\r\n\tSucceeded\020\003\022\n\n\006Failed\020\004*_\n\010FailType\022\014" +
        "\n\010Throttle\020\001\022\016\n\nDisconnect\020\002\022\t\n\005Abort\020\003\022" +
        "\010\n\004Exit\020\004\022\014\n\010Shutdown\020\005\022\022\n\016ShutdownAbrup" +
        "t\020\006*,\n\tDirection\022\010\n\004Send\020\001\022\013\n\007Receive\020\002\022" +
        "\010\n\004Both\020\003B\035\n\031akka.remote.testconductorH\001"
      };
      descriptor = akka.protobufv3.internal.Descriptors.FileDescriptor
        .internalBuildGeneratedFileFrom(descriptorData,
          new akka.protobufv3.internal.Descriptors.FileDescriptor[] {
          });
      internal_static_Wrapper_descriptor =
        getDescriptor().getMessageTypes().get(0);
      internal_static_Wrapper_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_Wrapper_descriptor,
          new java.lang.String[] { "Hello", "Barrier", "Failure", "Done", "Addr", });
      internal_static_Hello_descriptor =
        getDescriptor().getMessageTypes().get(1);
      internal_static_Hello_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_Hello_descriptor,
          new java.lang.String[] { "Name", "Address", });
      internal_static_EnterBarrier_descriptor =
        getDescriptor().getMessageTypes().get(2);
      internal_static_EnterBarrier_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_EnterBarrier_descriptor,
          new java.lang.String[] { "Name", "Op", "Timeout", });
      internal_static_AddressRequest_descriptor =
        getDescriptor().getMessageTypes().get(3);
      internal_static_AddressRequest_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_AddressRequest_descriptor,
          new java.lang.String[] { "Node", "Addr", });
      internal_static_Address_descriptor =
        getDescriptor().getMessageTypes().get(4);
      internal_static_Address_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_Address_descriptor,
          new java.lang.String[] { "Protocol", "System", "Host", "Port", });
      internal_static_InjectFailure_descriptor =
        getDescriptor().getMessageTypes().get(5);
      internal_static_InjectFailure_fieldAccessorTable = new
        akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
          internal_static_InjectFailure_descriptor,
          new java.lang.String[] { "Failure", "Direction", "Address", "RateMBit", "ExitValue", });
    }
  
    // @@protoc_insertion_point(outer_class_scope)
  }
  