// @generated
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: src/com/facebook/buck/remoteexecution/proto/metadata.proto

package com.facebook.buck.remoteexecution.proto;

/**
 * <pre>
 * This is propagated in GRPC header "re-metadata-bin".
 * </pre>
 *
 * Protobuf type {@code facebook.remote_execution.RemoteExecutionMetadata}
 */
@javax.annotation.Generated(value="protoc", comments="annotations:RemoteExecutionMetadata.java.pb.meta")
public  final class RemoteExecutionMetadata extends
    com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:facebook.remote_execution.RemoteExecutionMetadata)
    RemoteExecutionMetadataOrBuilder {
private static final long serialVersionUID = 0L;
  // Use RemoteExecutionMetadata.newBuilder() to construct.
  private RemoteExecutionMetadata(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
    super(builder);
  }
  private RemoteExecutionMetadata() {
  }

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet
  getUnknownFields() {
    return this.unknownFields;
  }
  private RemoteExecutionMetadata(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    this();
    if (extensionRegistry == null) {
      throw new java.lang.NullPointerException();
    }
    int mutable_bitField0_ = 0;
    com.google.protobuf.UnknownFieldSet.Builder unknownFields =
        com.google.protobuf.UnknownFieldSet.newBuilder();
    try {
      boolean done = false;
      while (!done) {
        int tag = input.readTag();
        switch (tag) {
          case 0:
            done = true;
            break;
          case 10: {
            com.facebook.buck.remoteexecution.proto.RESessionID.Builder subBuilder = null;
            if (reSessionId_ != null) {
              subBuilder = reSessionId_.toBuilder();
            }
            reSessionId_ = input.readMessage(com.facebook.buck.remoteexecution.proto.RESessionID.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(reSessionId_);
              reSessionId_ = subBuilder.buildPartial();
            }

            break;
          }
          case 18: {
            com.facebook.buck.remoteexecution.proto.BuckInfo.Builder subBuilder = null;
            if (buckInfo_ != null) {
              subBuilder = buckInfo_.toBuilder();
            }
            buckInfo_ = input.readMessage(com.facebook.buck.remoteexecution.proto.BuckInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(buckInfo_);
              buckInfo_ = subBuilder.buildPartial();
            }

            break;
          }
          case 26: {
            com.facebook.buck.remoteexecution.proto.TraceInfo.Builder subBuilder = null;
            if (traceInfo_ != null) {
              subBuilder = traceInfo_.toBuilder();
            }
            traceInfo_ = input.readMessage(com.facebook.buck.remoteexecution.proto.TraceInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(traceInfo_);
              traceInfo_ = subBuilder.buildPartial();
            }

            break;
          }
          case 34: {
            com.facebook.buck.remoteexecution.proto.CreatorInfo.Builder subBuilder = null;
            if (creatorInfo_ != null) {
              subBuilder = creatorInfo_.toBuilder();
            }
            creatorInfo_ = input.readMessage(com.facebook.buck.remoteexecution.proto.CreatorInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(creatorInfo_);
              creatorInfo_ = subBuilder.buildPartial();
            }

            break;
          }
          case 42: {
            com.facebook.buck.remoteexecution.proto.ExecutionEngineInfo.Builder subBuilder = null;
            if (engineInfo_ != null) {
              subBuilder = engineInfo_.toBuilder();
            }
            engineInfo_ = input.readMessage(com.facebook.buck.remoteexecution.proto.ExecutionEngineInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(engineInfo_);
              engineInfo_ = subBuilder.buildPartial();
            }

            break;
          }
          case 50: {
            com.facebook.buck.remoteexecution.proto.WorkerInfo.Builder subBuilder = null;
            if (workerInfo_ != null) {
              subBuilder = workerInfo_.toBuilder();
            }
            workerInfo_ = input.readMessage(com.facebook.buck.remoteexecution.proto.WorkerInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(workerInfo_);
              workerInfo_ = subBuilder.buildPartial();
            }

            break;
          }
          case 58: {
            com.facebook.buck.remoteexecution.proto.CasClientInfo.Builder subBuilder = null;
            if (casClientInfo_ != null) {
              subBuilder = casClientInfo_.toBuilder();
            }
            casClientInfo_ = input.readMessage(com.facebook.buck.remoteexecution.proto.CasClientInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(casClientInfo_);
              casClientInfo_ = subBuilder.buildPartial();
            }

            break;
          }
          case 66: {
            com.facebook.buck.remoteexecution.proto.WorkerRequirements.Builder subBuilder = null;
            if (workerRequirements_ != null) {
              subBuilder = workerRequirements_.toBuilder();
            }
            workerRequirements_ = input.readMessage(com.facebook.buck.remoteexecution.proto.WorkerRequirements.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(workerRequirements_);
              workerRequirements_ = subBuilder.buildPartial();
            }

            break;
          }
          case 82: {
            com.facebook.buck.remoteexecution.proto.ClientActionInfo.Builder subBuilder = null;
            if (clientActionInfo_ != null) {
              subBuilder = clientActionInfo_.toBuilder();
            }
            clientActionInfo_ = input.readMessage(com.facebook.buck.remoteexecution.proto.ClientActionInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(clientActionInfo_);
              clientActionInfo_ = subBuilder.buildPartial();
            }

            break;
          }
          case 90: {
            com.facebook.buck.remoteexecution.proto.ExecutedActionInfo.Builder subBuilder = null;
            if (executedActionInfo_ != null) {
              subBuilder = executedActionInfo_.toBuilder();
            }
            executedActionInfo_ = input.readMessage(com.facebook.buck.remoteexecution.proto.ExecutedActionInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(executedActionInfo_);
              executedActionInfo_ = subBuilder.buildPartial();
            }

            break;
          }
          case 98: {
            com.facebook.buck.remoteexecution.proto.DebugInfo.Builder subBuilder = null;
            if (debugInfo_ != null) {
              subBuilder = debugInfo_.toBuilder();
            }
            debugInfo_ = input.readMessage(com.facebook.buck.remoteexecution.proto.DebugInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(debugInfo_);
              debugInfo_ = subBuilder.buildPartial();
            }

            break;
          }
          case 106: {
            com.facebook.buck.remoteexecution.proto.ClientJobInfo.Builder subBuilder = null;
            if (clientJobInfo_ != null) {
              subBuilder = clientJobInfo_.toBuilder();
            }
            clientJobInfo_ = input.readMessage(com.facebook.buck.remoteexecution.proto.ClientJobInfo.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(clientJobInfo_);
              clientJobInfo_ = subBuilder.buildPartial();
            }

            break;
          }
          default: {
            if (!parseUnknownField(
                input, unknownFields, extensionRegistry, tag)) {
              done = true;
            }
            break;
          }
        }
      }
    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
      throw e.setUnfinishedMessage(this);
    } catch (java.io.IOException e) {
      throw new com.google.protobuf.InvalidProtocolBufferException(
          e).setUnfinishedMessage(this);
    } finally {
      this.unknownFields = unknownFields.build();
      makeExtensionsImmutable();
    }
  }
  public static final com.google.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadataProto.internal_static_facebook_remote_execution_RemoteExecutionMetadata_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadataProto.internal_static_facebook_remote_execution_RemoteExecutionMetadata_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata.class, com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata.Builder.class);
  }

  public static final int RE_SESSION_ID_FIELD_NUMBER = 1;
  private com.facebook.buck.remoteexecution.proto.RESessionID reSessionId_;
  /**
   * <code>.facebook.remote_execution.RESessionID re_session_id = 1;</code>
   */
  public boolean hasReSessionId() {
    return reSessionId_ != null;
  }
  /**
   * <code>.facebook.remote_execution.RESessionID re_session_id = 1;</code>
   */
  public com.facebook.buck.remoteexecution.proto.RESessionID getReSessionId() {
    return reSessionId_ == null ? com.facebook.buck.remoteexecution.proto.RESessionID.getDefaultInstance() : reSessionId_;
  }
  /**
   * <code>.facebook.remote_execution.RESessionID re_session_id = 1;</code>
   */
  public com.facebook.buck.remoteexecution.proto.RESessionIDOrBuilder getReSessionIdOrBuilder() {
    return getReSessionId();
  }

  public static final int BUCK_INFO_FIELD_NUMBER = 2;
  private com.facebook.buck.remoteexecution.proto.BuckInfo buckInfo_;
  /**
   * <code>.facebook.remote_execution.BuckInfo buck_info = 2;</code>
   */
  public boolean hasBuckInfo() {
    return buckInfo_ != null;
  }
  /**
   * <code>.facebook.remote_execution.BuckInfo buck_info = 2;</code>
   */
  public com.facebook.buck.remoteexecution.proto.BuckInfo getBuckInfo() {
    return buckInfo_ == null ? com.facebook.buck.remoteexecution.proto.BuckInfo.getDefaultInstance() : buckInfo_;
  }
  /**
   * <code>.facebook.remote_execution.BuckInfo buck_info = 2;</code>
   */
  public com.facebook.buck.remoteexecution.proto.BuckInfoOrBuilder getBuckInfoOrBuilder() {
    return getBuckInfo();
  }

  public static final int TRACE_INFO_FIELD_NUMBER = 3;
  private com.facebook.buck.remoteexecution.proto.TraceInfo traceInfo_;
  /**
   * <code>.facebook.remote_execution.TraceInfo trace_info = 3;</code>
   */
  public boolean hasTraceInfo() {
    return traceInfo_ != null;
  }
  /**
   * <code>.facebook.remote_execution.TraceInfo trace_info = 3;</code>
   */
  public com.facebook.buck.remoteexecution.proto.TraceInfo getTraceInfo() {
    return traceInfo_ == null ? com.facebook.buck.remoteexecution.proto.TraceInfo.getDefaultInstance() : traceInfo_;
  }
  /**
   * <code>.facebook.remote_execution.TraceInfo trace_info = 3;</code>
   */
  public com.facebook.buck.remoteexecution.proto.TraceInfoOrBuilder getTraceInfoOrBuilder() {
    return getTraceInfo();
  }

  public static final int CREATOR_INFO_FIELD_NUMBER = 4;
  private com.facebook.buck.remoteexecution.proto.CreatorInfo creatorInfo_;
  /**
   * <code>.facebook.remote_execution.CreatorInfo creator_info = 4;</code>
   */
  public boolean hasCreatorInfo() {
    return creatorInfo_ != null;
  }
  /**
   * <code>.facebook.remote_execution.CreatorInfo creator_info = 4;</code>
   */
  public com.facebook.buck.remoteexecution.proto.CreatorInfo getCreatorInfo() {
    return creatorInfo_ == null ? com.facebook.buck.remoteexecution.proto.CreatorInfo.getDefaultInstance() : creatorInfo_;
  }
  /**
   * <code>.facebook.remote_execution.CreatorInfo creator_info = 4;</code>
   */
  public com.facebook.buck.remoteexecution.proto.CreatorInfoOrBuilder getCreatorInfoOrBuilder() {
    return getCreatorInfo();
  }

  public static final int ENGINE_INFO_FIELD_NUMBER = 5;
  private com.facebook.buck.remoteexecution.proto.ExecutionEngineInfo engineInfo_;
  /**
   * <code>.facebook.remote_execution.ExecutionEngineInfo engine_info = 5;</code>
   */
  public boolean hasEngineInfo() {
    return engineInfo_ != null;
  }
  /**
   * <code>.facebook.remote_execution.ExecutionEngineInfo engine_info = 5;</code>
   */
  public com.facebook.buck.remoteexecution.proto.ExecutionEngineInfo getEngineInfo() {
    return engineInfo_ == null ? com.facebook.buck.remoteexecution.proto.ExecutionEngineInfo.getDefaultInstance() : engineInfo_;
  }
  /**
   * <code>.facebook.remote_execution.ExecutionEngineInfo engine_info = 5;</code>
   */
  public com.facebook.buck.remoteexecution.proto.ExecutionEngineInfoOrBuilder getEngineInfoOrBuilder() {
    return getEngineInfo();
  }

  public static final int WORKER_INFO_FIELD_NUMBER = 6;
  private com.facebook.buck.remoteexecution.proto.WorkerInfo workerInfo_;
  /**
   * <code>.facebook.remote_execution.WorkerInfo worker_info = 6;</code>
   */
  public boolean hasWorkerInfo() {
    return workerInfo_ != null;
  }
  /**
   * <code>.facebook.remote_execution.WorkerInfo worker_info = 6;</code>
   */
  public com.facebook.buck.remoteexecution.proto.WorkerInfo getWorkerInfo() {
    return workerInfo_ == null ? com.facebook.buck.remoteexecution.proto.WorkerInfo.getDefaultInstance() : workerInfo_;
  }
  /**
   * <code>.facebook.remote_execution.WorkerInfo worker_info = 6;</code>
   */
  public com.facebook.buck.remoteexecution.proto.WorkerInfoOrBuilder getWorkerInfoOrBuilder() {
    return getWorkerInfo();
  }

  public static final int CAS_CLIENT_INFO_FIELD_NUMBER = 7;
  private com.facebook.buck.remoteexecution.proto.CasClientInfo casClientInfo_;
  /**
   * <code>.facebook.remote_execution.CasClientInfo cas_client_info = 7;</code>
   */
  public boolean hasCasClientInfo() {
    return casClientInfo_ != null;
  }
  /**
   * <code>.facebook.remote_execution.CasClientInfo cas_client_info = 7;</code>
   */
  public com.facebook.buck.remoteexecution.proto.CasClientInfo getCasClientInfo() {
    return casClientInfo_ == null ? com.facebook.buck.remoteexecution.proto.CasClientInfo.getDefaultInstance() : casClientInfo_;
  }
  /**
   * <code>.facebook.remote_execution.CasClientInfo cas_client_info = 7;</code>
   */
  public com.facebook.buck.remoteexecution.proto.CasClientInfoOrBuilder getCasClientInfoOrBuilder() {
    return getCasClientInfo();
  }

  public static final int WORKER_REQUIREMENTS_FIELD_NUMBER = 8;
  private com.facebook.buck.remoteexecution.proto.WorkerRequirements workerRequirements_;
  /**
   * <code>.facebook.remote_execution.WorkerRequirements worker_requirements = 8;</code>
   */
  public boolean hasWorkerRequirements() {
    return workerRequirements_ != null;
  }
  /**
   * <code>.facebook.remote_execution.WorkerRequirements worker_requirements = 8;</code>
   */
  public com.facebook.buck.remoteexecution.proto.WorkerRequirements getWorkerRequirements() {
    return workerRequirements_ == null ? com.facebook.buck.remoteexecution.proto.WorkerRequirements.getDefaultInstance() : workerRequirements_;
  }
  /**
   * <code>.facebook.remote_execution.WorkerRequirements worker_requirements = 8;</code>
   */
  public com.facebook.buck.remoteexecution.proto.WorkerRequirementsOrBuilder getWorkerRequirementsOrBuilder() {
    return getWorkerRequirements();
  }

  public static final int CLIENT_ACTION_INFO_FIELD_NUMBER = 10;
  private com.facebook.buck.remoteexecution.proto.ClientActionInfo clientActionInfo_;
  /**
   * <pre>
   * 9 - Do not use, deprecated field.
   * </pre>
   *
   * <code>.facebook.remote_execution.ClientActionInfo client_action_info = 10;</code>
   */
  public boolean hasClientActionInfo() {
    return clientActionInfo_ != null;
  }
  /**
   * <pre>
   * 9 - Do not use, deprecated field.
   * </pre>
   *
   * <code>.facebook.remote_execution.ClientActionInfo client_action_info = 10;</code>
   */
  public com.facebook.buck.remoteexecution.proto.ClientActionInfo getClientActionInfo() {
    return clientActionInfo_ == null ? com.facebook.buck.remoteexecution.proto.ClientActionInfo.getDefaultInstance() : clientActionInfo_;
  }
  /**
   * <pre>
   * 9 - Do not use, deprecated field.
   * </pre>
   *
   * <code>.facebook.remote_execution.ClientActionInfo client_action_info = 10;</code>
   */
  public com.facebook.buck.remoteexecution.proto.ClientActionInfoOrBuilder getClientActionInfoOrBuilder() {
    return getClientActionInfo();
  }

  public static final int EXECUTED_ACTION_INFO_FIELD_NUMBER = 11;
  private com.facebook.buck.remoteexecution.proto.ExecutedActionInfo executedActionInfo_;
  /**
   * <code>.facebook.remote_execution.ExecutedActionInfo executed_action_info = 11;</code>
   */
  public boolean hasExecutedActionInfo() {
    return executedActionInfo_ != null;
  }
  /**
   * <code>.facebook.remote_execution.ExecutedActionInfo executed_action_info = 11;</code>
   */
  public com.facebook.buck.remoteexecution.proto.ExecutedActionInfo getExecutedActionInfo() {
    return executedActionInfo_ == null ? com.facebook.buck.remoteexecution.proto.ExecutedActionInfo.getDefaultInstance() : executedActionInfo_;
  }
  /**
   * <code>.facebook.remote_execution.ExecutedActionInfo executed_action_info = 11;</code>
   */
  public com.facebook.buck.remoteexecution.proto.ExecutedActionInfoOrBuilder getExecutedActionInfoOrBuilder() {
    return getExecutedActionInfo();
  }

  public static final int DEBUG_INFO_FIELD_NUMBER = 12;
  private com.facebook.buck.remoteexecution.proto.DebugInfo debugInfo_;
  /**
   * <code>.facebook.remote_execution.DebugInfo debug_info = 12;</code>
   */
  public boolean hasDebugInfo() {
    return debugInfo_ != null;
  }
  /**
   * <code>.facebook.remote_execution.DebugInfo debug_info = 12;</code>
   */
  public com.facebook.buck.remoteexecution.proto.DebugInfo getDebugInfo() {
    return debugInfo_ == null ? com.facebook.buck.remoteexecution.proto.DebugInfo.getDefaultInstance() : debugInfo_;
  }
  /**
   * <code>.facebook.remote_execution.DebugInfo debug_info = 12;</code>
   */
  public com.facebook.buck.remoteexecution.proto.DebugInfoOrBuilder getDebugInfoOrBuilder() {
    return getDebugInfo();
  }

  public static final int CLIENT_JOB_INFO_FIELD_NUMBER = 13;
  private com.facebook.buck.remoteexecution.proto.ClientJobInfo clientJobInfo_;
  /**
   * <code>.facebook.remote_execution.ClientJobInfo client_job_info = 13;</code>
   */
  public boolean hasClientJobInfo() {
    return clientJobInfo_ != null;
  }
  /**
   * <code>.facebook.remote_execution.ClientJobInfo client_job_info = 13;</code>
   */
  public com.facebook.buck.remoteexecution.proto.ClientJobInfo getClientJobInfo() {
    return clientJobInfo_ == null ? com.facebook.buck.remoteexecution.proto.ClientJobInfo.getDefaultInstance() : clientJobInfo_;
  }
  /**
   * <code>.facebook.remote_execution.ClientJobInfo client_job_info = 13;</code>
   */
  public com.facebook.buck.remoteexecution.proto.ClientJobInfoOrBuilder getClientJobInfoOrBuilder() {
    return getClientJobInfo();
  }

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

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output)
                      throws java.io.IOException {
    if (reSessionId_ != null) {
      output.writeMessage(1, getReSessionId());
    }
    if (buckInfo_ != null) {
      output.writeMessage(2, getBuckInfo());
    }
    if (traceInfo_ != null) {
      output.writeMessage(3, getTraceInfo());
    }
    if (creatorInfo_ != null) {
      output.writeMessage(4, getCreatorInfo());
    }
    if (engineInfo_ != null) {
      output.writeMessage(5, getEngineInfo());
    }
    if (workerInfo_ != null) {
      output.writeMessage(6, getWorkerInfo());
    }
    if (casClientInfo_ != null) {
      output.writeMessage(7, getCasClientInfo());
    }
    if (workerRequirements_ != null) {
      output.writeMessage(8, getWorkerRequirements());
    }
    if (clientActionInfo_ != null) {
      output.writeMessage(10, getClientActionInfo());
    }
    if (executedActionInfo_ != null) {
      output.writeMessage(11, getExecutedActionInfo());
    }
    if (debugInfo_ != null) {
      output.writeMessage(12, getDebugInfo());
    }
    if (clientJobInfo_ != null) {
      output.writeMessage(13, getClientJobInfo());
    }
    unknownFields.writeTo(output);
  }

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

    size = 0;
    if (reSessionId_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(1, getReSessionId());
    }
    if (buckInfo_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(2, getBuckInfo());
    }
    if (traceInfo_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(3, getTraceInfo());
    }
    if (creatorInfo_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(4, getCreatorInfo());
    }
    if (engineInfo_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(5, getEngineInfo());
    }
    if (workerInfo_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(6, getWorkerInfo());
    }
    if (casClientInfo_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(7, getCasClientInfo());
    }
    if (workerRequirements_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(8, getWorkerRequirements());
    }
    if (clientActionInfo_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(10, getClientActionInfo());
    }
    if (executedActionInfo_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(11, getExecutedActionInfo());
    }
    if (debugInfo_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(12, getDebugInfo());
    }
    if (clientJobInfo_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(13, getClientJobInfo());
    }
    size += unknownFields.getSerializedSize();
    memoizedSize = size;
    return size;
  }

  @java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
     return true;
    }
    if (!(obj instanceof com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata)) {
      return super.equals(obj);
    }
    com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata other = (com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata) obj;

    if (hasReSessionId() != other.hasReSessionId()) return false;
    if (hasReSessionId()) {
      if (!getReSessionId()
          .equals(other.getReSessionId())) return false;
    }
    if (hasBuckInfo() != other.hasBuckInfo()) return false;
    if (hasBuckInfo()) {
      if (!getBuckInfo()
          .equals(other.getBuckInfo())) return false;
    }
    if (hasTraceInfo() != other.hasTraceInfo()) return false;
    if (hasTraceInfo()) {
      if (!getTraceInfo()
          .equals(other.getTraceInfo())) return false;
    }
    if (hasCreatorInfo() != other.hasCreatorInfo()) return false;
    if (hasCreatorInfo()) {
      if (!getCreatorInfo()
          .equals(other.getCreatorInfo())) return false;
    }
    if (hasEngineInfo() != other.hasEngineInfo()) return false;
    if (hasEngineInfo()) {
      if (!getEngineInfo()
          .equals(other.getEngineInfo())) return false;
    }
    if (hasWorkerInfo() != other.hasWorkerInfo()) return false;
    if (hasWorkerInfo()) {
      if (!getWorkerInfo()
          .equals(other.getWorkerInfo())) return false;
    }
    if (hasCasClientInfo() != other.hasCasClientInfo()) return false;
    if (hasCasClientInfo()) {
      if (!getCasClientInfo()
          .equals(other.getCasClientInfo())) return false;
    }
    if (hasWorkerRequirements() != other.hasWorkerRequirements()) return false;
    if (hasWorkerRequirements()) {
      if (!getWorkerRequirements()
          .equals(other.getWorkerRequirements())) return false;
    }
    if (hasClientActionInfo() != other.hasClientActionInfo()) return false;
    if (hasClientActionInfo()) {
      if (!getClientActionInfo()
          .equals(other.getClientActionInfo())) return false;
    }
    if (hasExecutedActionInfo() != other.hasExecutedActionInfo()) return false;
    if (hasExecutedActionInfo()) {
      if (!getExecutedActionInfo()
          .equals(other.getExecutedActionInfo())) return false;
    }
    if (hasDebugInfo() != other.hasDebugInfo()) return false;
    if (hasDebugInfo()) {
      if (!getDebugInfo()
          .equals(other.getDebugInfo())) return false;
    }
    if (hasClientJobInfo() != other.hasClientJobInfo()) return false;
    if (hasClientJobInfo()) {
      if (!getClientJobInfo()
          .equals(other.getClientJobInfo())) return false;
    }
    if (!unknownFields.equals(other.unknownFields)) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    if (hasReSessionId()) {
      hash = (37 * hash) + RE_SESSION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getReSessionId().hashCode();
    }
    if (hasBuckInfo()) {
      hash = (37 * hash) + BUCK_INFO_FIELD_NUMBER;
      hash = (53 * hash) + getBuckInfo().hashCode();
    }
    if (hasTraceInfo()) {
      hash = (37 * hash) + TRACE_INFO_FIELD_NUMBER;
      hash = (53 * hash) + getTraceInfo().hashCode();
    }
    if (hasCreatorInfo()) {
      hash = (37 * hash) + CREATOR_INFO_FIELD_NUMBER;
      hash = (53 * hash) + getCreatorInfo().hashCode();
    }
    if (hasEngineInfo()) {
      hash = (37 * hash) + ENGINE_INFO_FIELD_NUMBER;
      hash = (53 * hash) + getEngineInfo().hashCode();
    }
    if (hasWorkerInfo()) {
      hash = (37 * hash) + WORKER_INFO_FIELD_NUMBER;
      hash = (53 * hash) + getWorkerInfo().hashCode();
    }
    if (hasCasClientInfo()) {
      hash = (37 * hash) + CAS_CLIENT_INFO_FIELD_NUMBER;
      hash = (53 * hash) + getCasClientInfo().hashCode();
    }
    if (hasWorkerRequirements()) {
      hash = (37 * hash) + WORKER_REQUIREMENTS_FIELD_NUMBER;
      hash = (53 * hash) + getWorkerRequirements().hashCode();
    }
    if (hasClientActionInfo()) {
      hash = (37 * hash) + CLIENT_ACTION_INFO_FIELD_NUMBER;
      hash = (53 * hash) + getClientActionInfo().hashCode();
    }
    if (hasExecutedActionInfo()) {
      hash = (37 * hash) + EXECUTED_ACTION_INFO_FIELD_NUMBER;
      hash = (53 * hash) + getExecutedActionInfo().hashCode();
    }
    if (hasDebugInfo()) {
      hash = (37 * hash) + DEBUG_INFO_FIELD_NUMBER;
      hash = (53 * hash) + getDebugInfo().hashCode();
    }
    if (hasClientJobInfo()) {
      hash = (37 * hash) + CLIENT_JOB_INFO_FIELD_NUMBER;
      hash = (53 * hash) + getClientJobInfo().hashCode();
    }
    hash = (29 * hash) + unknownFields.hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata parseFrom(
      java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata parseFrom(
      java.nio.ByteBuffer data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata parseFrom(
      byte[] data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata parseFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input, extensionRegistry);
  }
  public static com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input);
  }
  public static com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata parseDelimitedFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
  }
  public static com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata parseFrom(
      com.google.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata parseFrom(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.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(com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata 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(
      com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   * <pre>
   * This is propagated in GRPC header "re-metadata-bin".
   * </pre>
   *
   * Protobuf type {@code facebook.remote_execution.RemoteExecutionMetadata}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
      // @@protoc_insertion_point(builder_implements:facebook.remote_execution.RemoteExecutionMetadata)
      com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadataOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadataProto.internal_static_facebook_remote_execution_RemoteExecutionMetadata_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadataProto.internal_static_facebook_remote_execution_RemoteExecutionMetadata_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata.class, com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata.Builder.class);
    }

    // Construct using com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata.newBuilder()
    private Builder() {
      maybeForceBuilderInitialization();
    }

    private Builder(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      super(parent);
      maybeForceBuilderInitialization();
    }
    private void maybeForceBuilderInitialization() {
      if (com.google.protobuf.GeneratedMessageV3
              .alwaysUseFieldBuilders) {
      }
    }
    @java.lang.Override
    public Builder clear() {
      super.clear();
      if (reSessionIdBuilder_ == null) {
        reSessionId_ = null;
      } else {
        reSessionId_ = null;
        reSessionIdBuilder_ = null;
      }
      if (buckInfoBuilder_ == null) {
        buckInfo_ = null;
      } else {
        buckInfo_ = null;
        buckInfoBuilder_ = null;
      }
      if (traceInfoBuilder_ == null) {
        traceInfo_ = null;
      } else {
        traceInfo_ = null;
        traceInfoBuilder_ = null;
      }
      if (creatorInfoBuilder_ == null) {
        creatorInfo_ = null;
      } else {
        creatorInfo_ = null;
        creatorInfoBuilder_ = null;
      }
      if (engineInfoBuilder_ == null) {
        engineInfo_ = null;
      } else {
        engineInfo_ = null;
        engineInfoBuilder_ = null;
      }
      if (workerInfoBuilder_ == null) {
        workerInfo_ = null;
      } else {
        workerInfo_ = null;
        workerInfoBuilder_ = null;
      }
      if (casClientInfoBuilder_ == null) {
        casClientInfo_ = null;
      } else {
        casClientInfo_ = null;
        casClientInfoBuilder_ = null;
      }
      if (workerRequirementsBuilder_ == null) {
        workerRequirements_ = null;
      } else {
        workerRequirements_ = null;
        workerRequirementsBuilder_ = null;
      }
      if (clientActionInfoBuilder_ == null) {
        clientActionInfo_ = null;
      } else {
        clientActionInfo_ = null;
        clientActionInfoBuilder_ = null;
      }
      if (executedActionInfoBuilder_ == null) {
        executedActionInfo_ = null;
      } else {
        executedActionInfo_ = null;
        executedActionInfoBuilder_ = null;
      }
      if (debugInfoBuilder_ == null) {
        debugInfo_ = null;
      } else {
        debugInfo_ = null;
        debugInfoBuilder_ = null;
      }
      if (clientJobInfoBuilder_ == null) {
        clientJobInfo_ = null;
      } else {
        clientJobInfo_ = null;
        clientJobInfoBuilder_ = null;
      }
      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor
        getDescriptorForType() {
      return com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadataProto.internal_static_facebook_remote_execution_RemoteExecutionMetadata_descriptor;
    }

    @java.lang.Override
    public com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata getDefaultInstanceForType() {
      return com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata.getDefaultInstance();
    }

    @java.lang.Override
    public com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata build() {
      com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata buildPartial() {
      com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata result = new com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata(this);
      if (reSessionIdBuilder_ == null) {
        result.reSessionId_ = reSessionId_;
      } else {
        result.reSessionId_ = reSessionIdBuilder_.build();
      }
      if (buckInfoBuilder_ == null) {
        result.buckInfo_ = buckInfo_;
      } else {
        result.buckInfo_ = buckInfoBuilder_.build();
      }
      if (traceInfoBuilder_ == null) {
        result.traceInfo_ = traceInfo_;
      } else {
        result.traceInfo_ = traceInfoBuilder_.build();
      }
      if (creatorInfoBuilder_ == null) {
        result.creatorInfo_ = creatorInfo_;
      } else {
        result.creatorInfo_ = creatorInfoBuilder_.build();
      }
      if (engineInfoBuilder_ == null) {
        result.engineInfo_ = engineInfo_;
      } else {
        result.engineInfo_ = engineInfoBuilder_.build();
      }
      if (workerInfoBuilder_ == null) {
        result.workerInfo_ = workerInfo_;
      } else {
        result.workerInfo_ = workerInfoBuilder_.build();
      }
      if (casClientInfoBuilder_ == null) {
        result.casClientInfo_ = casClientInfo_;
      } else {
        result.casClientInfo_ = casClientInfoBuilder_.build();
      }
      if (workerRequirementsBuilder_ == null) {
        result.workerRequirements_ = workerRequirements_;
      } else {
        result.workerRequirements_ = workerRequirementsBuilder_.build();
      }
      if (clientActionInfoBuilder_ == null) {
        result.clientActionInfo_ = clientActionInfo_;
      } else {
        result.clientActionInfo_ = clientActionInfoBuilder_.build();
      }
      if (executedActionInfoBuilder_ == null) {
        result.executedActionInfo_ = executedActionInfo_;
      } else {
        result.executedActionInfo_ = executedActionInfoBuilder_.build();
      }
      if (debugInfoBuilder_ == null) {
        result.debugInfo_ = debugInfo_;
      } else {
        result.debugInfo_ = debugInfoBuilder_.build();
      }
      if (clientJobInfoBuilder_ == null) {
        result.clientJobInfo_ = clientJobInfo_;
      } else {
        result.clientJobInfo_ = clientJobInfoBuilder_.build();
      }
      onBuilt();
      return result;
    }

    @java.lang.Override
    public Builder clone() {
      return super.clone();
    }
    @java.lang.Override
    public Builder setField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        java.lang.Object value) {
      return super.setField(field, value);
    }
    @java.lang.Override
    public Builder clearField(
        com.google.protobuf.Descriptors.FieldDescriptor field) {
      return super.clearField(field);
    }
    @java.lang.Override
    public Builder clearOneof(
        com.google.protobuf.Descriptors.OneofDescriptor oneof) {
      return super.clearOneof(oneof);
    }
    @java.lang.Override
    public Builder setRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        int index, java.lang.Object value) {
      return super.setRepeatedField(field, index, value);
    }
    @java.lang.Override
    public Builder addRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        java.lang.Object value) {
      return super.addRepeatedField(field, value);
    }
    @java.lang.Override
    public Builder mergeFrom(com.google.protobuf.Message other) {
      if (other instanceof com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata) {
        return mergeFrom((com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata)other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata other) {
      if (other == com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata.getDefaultInstance()) return this;
      if (other.hasReSessionId()) {
        mergeReSessionId(other.getReSessionId());
      }
      if (other.hasBuckInfo()) {
        mergeBuckInfo(other.getBuckInfo());
      }
      if (other.hasTraceInfo()) {
        mergeTraceInfo(other.getTraceInfo());
      }
      if (other.hasCreatorInfo()) {
        mergeCreatorInfo(other.getCreatorInfo());
      }
      if (other.hasEngineInfo()) {
        mergeEngineInfo(other.getEngineInfo());
      }
      if (other.hasWorkerInfo()) {
        mergeWorkerInfo(other.getWorkerInfo());
      }
      if (other.hasCasClientInfo()) {
        mergeCasClientInfo(other.getCasClientInfo());
      }
      if (other.hasWorkerRequirements()) {
        mergeWorkerRequirements(other.getWorkerRequirements());
      }
      if (other.hasClientActionInfo()) {
        mergeClientActionInfo(other.getClientActionInfo());
      }
      if (other.hasExecutedActionInfo()) {
        mergeExecutedActionInfo(other.getExecutedActionInfo());
      }
      if (other.hasDebugInfo()) {
        mergeDebugInfo(other.getDebugInfo());
      }
      if (other.hasClientJobInfo()) {
        mergeClientJobInfo(other.getClientJobInfo());
      }
      this.mergeUnknownFields(other.unknownFields);
      onChanged();
      return this;
    }

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

    @java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata parsedMessage = null;
      try {
        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        parsedMessage = (com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata) e.getUnfinishedMessage();
        throw e.unwrapIOException();
      } finally {
        if (parsedMessage != null) {
          mergeFrom(parsedMessage);
        }
      }
      return this;
    }

    private com.facebook.buck.remoteexecution.proto.RESessionID reSessionId_;
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.RESessionID, com.facebook.buck.remoteexecution.proto.RESessionID.Builder, com.facebook.buck.remoteexecution.proto.RESessionIDOrBuilder> reSessionIdBuilder_;
    /**
     * <code>.facebook.remote_execution.RESessionID re_session_id = 1;</code>
     */
    public boolean hasReSessionId() {
      return reSessionIdBuilder_ != null || reSessionId_ != null;
    }
    /**
     * <code>.facebook.remote_execution.RESessionID re_session_id = 1;</code>
     */
    public com.facebook.buck.remoteexecution.proto.RESessionID getReSessionId() {
      if (reSessionIdBuilder_ == null) {
        return reSessionId_ == null ? com.facebook.buck.remoteexecution.proto.RESessionID.getDefaultInstance() : reSessionId_;
      } else {
        return reSessionIdBuilder_.getMessage();
      }
    }
    /**
     * <code>.facebook.remote_execution.RESessionID re_session_id = 1;</code>
     */
    public Builder setReSessionId(com.facebook.buck.remoteexecution.proto.RESessionID value) {
      if (reSessionIdBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        reSessionId_ = value;
        onChanged();
      } else {
        reSessionIdBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.RESessionID re_session_id = 1;</code>
     */
    public Builder setReSessionId(
        com.facebook.buck.remoteexecution.proto.RESessionID.Builder builderForValue) {
      if (reSessionIdBuilder_ == null) {
        reSessionId_ = builderForValue.build();
        onChanged();
      } else {
        reSessionIdBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.RESessionID re_session_id = 1;</code>
     */
    public Builder mergeReSessionId(com.facebook.buck.remoteexecution.proto.RESessionID value) {
      if (reSessionIdBuilder_ == null) {
        if (reSessionId_ != null) {
          reSessionId_ =
            com.facebook.buck.remoteexecution.proto.RESessionID.newBuilder(reSessionId_).mergeFrom(value).buildPartial();
        } else {
          reSessionId_ = value;
        }
        onChanged();
      } else {
        reSessionIdBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.RESessionID re_session_id = 1;</code>
     */
    public Builder clearReSessionId() {
      if (reSessionIdBuilder_ == null) {
        reSessionId_ = null;
        onChanged();
      } else {
        reSessionId_ = null;
        reSessionIdBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.RESessionID re_session_id = 1;</code>
     */
    public com.facebook.buck.remoteexecution.proto.RESessionID.Builder getReSessionIdBuilder() {
      
      onChanged();
      return getReSessionIdFieldBuilder().getBuilder();
    }
    /**
     * <code>.facebook.remote_execution.RESessionID re_session_id = 1;</code>
     */
    public com.facebook.buck.remoteexecution.proto.RESessionIDOrBuilder getReSessionIdOrBuilder() {
      if (reSessionIdBuilder_ != null) {
        return reSessionIdBuilder_.getMessageOrBuilder();
      } else {
        return reSessionId_ == null ?
            com.facebook.buck.remoteexecution.proto.RESessionID.getDefaultInstance() : reSessionId_;
      }
    }
    /**
     * <code>.facebook.remote_execution.RESessionID re_session_id = 1;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.RESessionID, com.facebook.buck.remoteexecution.proto.RESessionID.Builder, com.facebook.buck.remoteexecution.proto.RESessionIDOrBuilder> 
        getReSessionIdFieldBuilder() {
      if (reSessionIdBuilder_ == null) {
        reSessionIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.facebook.buck.remoteexecution.proto.RESessionID, com.facebook.buck.remoteexecution.proto.RESessionID.Builder, com.facebook.buck.remoteexecution.proto.RESessionIDOrBuilder>(
                getReSessionId(),
                getParentForChildren(),
                isClean());
        reSessionId_ = null;
      }
      return reSessionIdBuilder_;
    }

    private com.facebook.buck.remoteexecution.proto.BuckInfo buckInfo_;
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.BuckInfo, com.facebook.buck.remoteexecution.proto.BuckInfo.Builder, com.facebook.buck.remoteexecution.proto.BuckInfoOrBuilder> buckInfoBuilder_;
    /**
     * <code>.facebook.remote_execution.BuckInfo buck_info = 2;</code>
     */
    public boolean hasBuckInfo() {
      return buckInfoBuilder_ != null || buckInfo_ != null;
    }
    /**
     * <code>.facebook.remote_execution.BuckInfo buck_info = 2;</code>
     */
    public com.facebook.buck.remoteexecution.proto.BuckInfo getBuckInfo() {
      if (buckInfoBuilder_ == null) {
        return buckInfo_ == null ? com.facebook.buck.remoteexecution.proto.BuckInfo.getDefaultInstance() : buckInfo_;
      } else {
        return buckInfoBuilder_.getMessage();
      }
    }
    /**
     * <code>.facebook.remote_execution.BuckInfo buck_info = 2;</code>
     */
    public Builder setBuckInfo(com.facebook.buck.remoteexecution.proto.BuckInfo value) {
      if (buckInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        buckInfo_ = value;
        onChanged();
      } else {
        buckInfoBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.BuckInfo buck_info = 2;</code>
     */
    public Builder setBuckInfo(
        com.facebook.buck.remoteexecution.proto.BuckInfo.Builder builderForValue) {
      if (buckInfoBuilder_ == null) {
        buckInfo_ = builderForValue.build();
        onChanged();
      } else {
        buckInfoBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.BuckInfo buck_info = 2;</code>
     */
    public Builder mergeBuckInfo(com.facebook.buck.remoteexecution.proto.BuckInfo value) {
      if (buckInfoBuilder_ == null) {
        if (buckInfo_ != null) {
          buckInfo_ =
            com.facebook.buck.remoteexecution.proto.BuckInfo.newBuilder(buckInfo_).mergeFrom(value).buildPartial();
        } else {
          buckInfo_ = value;
        }
        onChanged();
      } else {
        buckInfoBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.BuckInfo buck_info = 2;</code>
     */
    public Builder clearBuckInfo() {
      if (buckInfoBuilder_ == null) {
        buckInfo_ = null;
        onChanged();
      } else {
        buckInfo_ = null;
        buckInfoBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.BuckInfo buck_info = 2;</code>
     */
    public com.facebook.buck.remoteexecution.proto.BuckInfo.Builder getBuckInfoBuilder() {
      
      onChanged();
      return getBuckInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.facebook.remote_execution.BuckInfo buck_info = 2;</code>
     */
    public com.facebook.buck.remoteexecution.proto.BuckInfoOrBuilder getBuckInfoOrBuilder() {
      if (buckInfoBuilder_ != null) {
        return buckInfoBuilder_.getMessageOrBuilder();
      } else {
        return buckInfo_ == null ?
            com.facebook.buck.remoteexecution.proto.BuckInfo.getDefaultInstance() : buckInfo_;
      }
    }
    /**
     * <code>.facebook.remote_execution.BuckInfo buck_info = 2;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.BuckInfo, com.facebook.buck.remoteexecution.proto.BuckInfo.Builder, com.facebook.buck.remoteexecution.proto.BuckInfoOrBuilder> 
        getBuckInfoFieldBuilder() {
      if (buckInfoBuilder_ == null) {
        buckInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.facebook.buck.remoteexecution.proto.BuckInfo, com.facebook.buck.remoteexecution.proto.BuckInfo.Builder, com.facebook.buck.remoteexecution.proto.BuckInfoOrBuilder>(
                getBuckInfo(),
                getParentForChildren(),
                isClean());
        buckInfo_ = null;
      }
      return buckInfoBuilder_;
    }

    private com.facebook.buck.remoteexecution.proto.TraceInfo traceInfo_;
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.TraceInfo, com.facebook.buck.remoteexecution.proto.TraceInfo.Builder, com.facebook.buck.remoteexecution.proto.TraceInfoOrBuilder> traceInfoBuilder_;
    /**
     * <code>.facebook.remote_execution.TraceInfo trace_info = 3;</code>
     */
    public boolean hasTraceInfo() {
      return traceInfoBuilder_ != null || traceInfo_ != null;
    }
    /**
     * <code>.facebook.remote_execution.TraceInfo trace_info = 3;</code>
     */
    public com.facebook.buck.remoteexecution.proto.TraceInfo getTraceInfo() {
      if (traceInfoBuilder_ == null) {
        return traceInfo_ == null ? com.facebook.buck.remoteexecution.proto.TraceInfo.getDefaultInstance() : traceInfo_;
      } else {
        return traceInfoBuilder_.getMessage();
      }
    }
    /**
     * <code>.facebook.remote_execution.TraceInfo trace_info = 3;</code>
     */
    public Builder setTraceInfo(com.facebook.buck.remoteexecution.proto.TraceInfo value) {
      if (traceInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        traceInfo_ = value;
        onChanged();
      } else {
        traceInfoBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.TraceInfo trace_info = 3;</code>
     */
    public Builder setTraceInfo(
        com.facebook.buck.remoteexecution.proto.TraceInfo.Builder builderForValue) {
      if (traceInfoBuilder_ == null) {
        traceInfo_ = builderForValue.build();
        onChanged();
      } else {
        traceInfoBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.TraceInfo trace_info = 3;</code>
     */
    public Builder mergeTraceInfo(com.facebook.buck.remoteexecution.proto.TraceInfo value) {
      if (traceInfoBuilder_ == null) {
        if (traceInfo_ != null) {
          traceInfo_ =
            com.facebook.buck.remoteexecution.proto.TraceInfo.newBuilder(traceInfo_).mergeFrom(value).buildPartial();
        } else {
          traceInfo_ = value;
        }
        onChanged();
      } else {
        traceInfoBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.TraceInfo trace_info = 3;</code>
     */
    public Builder clearTraceInfo() {
      if (traceInfoBuilder_ == null) {
        traceInfo_ = null;
        onChanged();
      } else {
        traceInfo_ = null;
        traceInfoBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.TraceInfo trace_info = 3;</code>
     */
    public com.facebook.buck.remoteexecution.proto.TraceInfo.Builder getTraceInfoBuilder() {
      
      onChanged();
      return getTraceInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.facebook.remote_execution.TraceInfo trace_info = 3;</code>
     */
    public com.facebook.buck.remoteexecution.proto.TraceInfoOrBuilder getTraceInfoOrBuilder() {
      if (traceInfoBuilder_ != null) {
        return traceInfoBuilder_.getMessageOrBuilder();
      } else {
        return traceInfo_ == null ?
            com.facebook.buck.remoteexecution.proto.TraceInfo.getDefaultInstance() : traceInfo_;
      }
    }
    /**
     * <code>.facebook.remote_execution.TraceInfo trace_info = 3;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.TraceInfo, com.facebook.buck.remoteexecution.proto.TraceInfo.Builder, com.facebook.buck.remoteexecution.proto.TraceInfoOrBuilder> 
        getTraceInfoFieldBuilder() {
      if (traceInfoBuilder_ == null) {
        traceInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.facebook.buck.remoteexecution.proto.TraceInfo, com.facebook.buck.remoteexecution.proto.TraceInfo.Builder, com.facebook.buck.remoteexecution.proto.TraceInfoOrBuilder>(
                getTraceInfo(),
                getParentForChildren(),
                isClean());
        traceInfo_ = null;
      }
      return traceInfoBuilder_;
    }

    private com.facebook.buck.remoteexecution.proto.CreatorInfo creatorInfo_;
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.CreatorInfo, com.facebook.buck.remoteexecution.proto.CreatorInfo.Builder, com.facebook.buck.remoteexecution.proto.CreatorInfoOrBuilder> creatorInfoBuilder_;
    /**
     * <code>.facebook.remote_execution.CreatorInfo creator_info = 4;</code>
     */
    public boolean hasCreatorInfo() {
      return creatorInfoBuilder_ != null || creatorInfo_ != null;
    }
    /**
     * <code>.facebook.remote_execution.CreatorInfo creator_info = 4;</code>
     */
    public com.facebook.buck.remoteexecution.proto.CreatorInfo getCreatorInfo() {
      if (creatorInfoBuilder_ == null) {
        return creatorInfo_ == null ? com.facebook.buck.remoteexecution.proto.CreatorInfo.getDefaultInstance() : creatorInfo_;
      } else {
        return creatorInfoBuilder_.getMessage();
      }
    }
    /**
     * <code>.facebook.remote_execution.CreatorInfo creator_info = 4;</code>
     */
    public Builder setCreatorInfo(com.facebook.buck.remoteexecution.proto.CreatorInfo value) {
      if (creatorInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        creatorInfo_ = value;
        onChanged();
      } else {
        creatorInfoBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.CreatorInfo creator_info = 4;</code>
     */
    public Builder setCreatorInfo(
        com.facebook.buck.remoteexecution.proto.CreatorInfo.Builder builderForValue) {
      if (creatorInfoBuilder_ == null) {
        creatorInfo_ = builderForValue.build();
        onChanged();
      } else {
        creatorInfoBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.CreatorInfo creator_info = 4;</code>
     */
    public Builder mergeCreatorInfo(com.facebook.buck.remoteexecution.proto.CreatorInfo value) {
      if (creatorInfoBuilder_ == null) {
        if (creatorInfo_ != null) {
          creatorInfo_ =
            com.facebook.buck.remoteexecution.proto.CreatorInfo.newBuilder(creatorInfo_).mergeFrom(value).buildPartial();
        } else {
          creatorInfo_ = value;
        }
        onChanged();
      } else {
        creatorInfoBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.CreatorInfo creator_info = 4;</code>
     */
    public Builder clearCreatorInfo() {
      if (creatorInfoBuilder_ == null) {
        creatorInfo_ = null;
        onChanged();
      } else {
        creatorInfo_ = null;
        creatorInfoBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.CreatorInfo creator_info = 4;</code>
     */
    public com.facebook.buck.remoteexecution.proto.CreatorInfo.Builder getCreatorInfoBuilder() {
      
      onChanged();
      return getCreatorInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.facebook.remote_execution.CreatorInfo creator_info = 4;</code>
     */
    public com.facebook.buck.remoteexecution.proto.CreatorInfoOrBuilder getCreatorInfoOrBuilder() {
      if (creatorInfoBuilder_ != null) {
        return creatorInfoBuilder_.getMessageOrBuilder();
      } else {
        return creatorInfo_ == null ?
            com.facebook.buck.remoteexecution.proto.CreatorInfo.getDefaultInstance() : creatorInfo_;
      }
    }
    /**
     * <code>.facebook.remote_execution.CreatorInfo creator_info = 4;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.CreatorInfo, com.facebook.buck.remoteexecution.proto.CreatorInfo.Builder, com.facebook.buck.remoteexecution.proto.CreatorInfoOrBuilder> 
        getCreatorInfoFieldBuilder() {
      if (creatorInfoBuilder_ == null) {
        creatorInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.facebook.buck.remoteexecution.proto.CreatorInfo, com.facebook.buck.remoteexecution.proto.CreatorInfo.Builder, com.facebook.buck.remoteexecution.proto.CreatorInfoOrBuilder>(
                getCreatorInfo(),
                getParentForChildren(),
                isClean());
        creatorInfo_ = null;
      }
      return creatorInfoBuilder_;
    }

    private com.facebook.buck.remoteexecution.proto.ExecutionEngineInfo engineInfo_;
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.ExecutionEngineInfo, com.facebook.buck.remoteexecution.proto.ExecutionEngineInfo.Builder, com.facebook.buck.remoteexecution.proto.ExecutionEngineInfoOrBuilder> engineInfoBuilder_;
    /**
     * <code>.facebook.remote_execution.ExecutionEngineInfo engine_info = 5;</code>
     */
    public boolean hasEngineInfo() {
      return engineInfoBuilder_ != null || engineInfo_ != null;
    }
    /**
     * <code>.facebook.remote_execution.ExecutionEngineInfo engine_info = 5;</code>
     */
    public com.facebook.buck.remoteexecution.proto.ExecutionEngineInfo getEngineInfo() {
      if (engineInfoBuilder_ == null) {
        return engineInfo_ == null ? com.facebook.buck.remoteexecution.proto.ExecutionEngineInfo.getDefaultInstance() : engineInfo_;
      } else {
        return engineInfoBuilder_.getMessage();
      }
    }
    /**
     * <code>.facebook.remote_execution.ExecutionEngineInfo engine_info = 5;</code>
     */
    public Builder setEngineInfo(com.facebook.buck.remoteexecution.proto.ExecutionEngineInfo value) {
      if (engineInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        engineInfo_ = value;
        onChanged();
      } else {
        engineInfoBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.ExecutionEngineInfo engine_info = 5;</code>
     */
    public Builder setEngineInfo(
        com.facebook.buck.remoteexecution.proto.ExecutionEngineInfo.Builder builderForValue) {
      if (engineInfoBuilder_ == null) {
        engineInfo_ = builderForValue.build();
        onChanged();
      } else {
        engineInfoBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.ExecutionEngineInfo engine_info = 5;</code>
     */
    public Builder mergeEngineInfo(com.facebook.buck.remoteexecution.proto.ExecutionEngineInfo value) {
      if (engineInfoBuilder_ == null) {
        if (engineInfo_ != null) {
          engineInfo_ =
            com.facebook.buck.remoteexecution.proto.ExecutionEngineInfo.newBuilder(engineInfo_).mergeFrom(value).buildPartial();
        } else {
          engineInfo_ = value;
        }
        onChanged();
      } else {
        engineInfoBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.ExecutionEngineInfo engine_info = 5;</code>
     */
    public Builder clearEngineInfo() {
      if (engineInfoBuilder_ == null) {
        engineInfo_ = null;
        onChanged();
      } else {
        engineInfo_ = null;
        engineInfoBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.ExecutionEngineInfo engine_info = 5;</code>
     */
    public com.facebook.buck.remoteexecution.proto.ExecutionEngineInfo.Builder getEngineInfoBuilder() {
      
      onChanged();
      return getEngineInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.facebook.remote_execution.ExecutionEngineInfo engine_info = 5;</code>
     */
    public com.facebook.buck.remoteexecution.proto.ExecutionEngineInfoOrBuilder getEngineInfoOrBuilder() {
      if (engineInfoBuilder_ != null) {
        return engineInfoBuilder_.getMessageOrBuilder();
      } else {
        return engineInfo_ == null ?
            com.facebook.buck.remoteexecution.proto.ExecutionEngineInfo.getDefaultInstance() : engineInfo_;
      }
    }
    /**
     * <code>.facebook.remote_execution.ExecutionEngineInfo engine_info = 5;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.ExecutionEngineInfo, com.facebook.buck.remoteexecution.proto.ExecutionEngineInfo.Builder, com.facebook.buck.remoteexecution.proto.ExecutionEngineInfoOrBuilder> 
        getEngineInfoFieldBuilder() {
      if (engineInfoBuilder_ == null) {
        engineInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.facebook.buck.remoteexecution.proto.ExecutionEngineInfo, com.facebook.buck.remoteexecution.proto.ExecutionEngineInfo.Builder, com.facebook.buck.remoteexecution.proto.ExecutionEngineInfoOrBuilder>(
                getEngineInfo(),
                getParentForChildren(),
                isClean());
        engineInfo_ = null;
      }
      return engineInfoBuilder_;
    }

    private com.facebook.buck.remoteexecution.proto.WorkerInfo workerInfo_;
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.WorkerInfo, com.facebook.buck.remoteexecution.proto.WorkerInfo.Builder, com.facebook.buck.remoteexecution.proto.WorkerInfoOrBuilder> workerInfoBuilder_;
    /**
     * <code>.facebook.remote_execution.WorkerInfo worker_info = 6;</code>
     */
    public boolean hasWorkerInfo() {
      return workerInfoBuilder_ != null || workerInfo_ != null;
    }
    /**
     * <code>.facebook.remote_execution.WorkerInfo worker_info = 6;</code>
     */
    public com.facebook.buck.remoteexecution.proto.WorkerInfo getWorkerInfo() {
      if (workerInfoBuilder_ == null) {
        return workerInfo_ == null ? com.facebook.buck.remoteexecution.proto.WorkerInfo.getDefaultInstance() : workerInfo_;
      } else {
        return workerInfoBuilder_.getMessage();
      }
    }
    /**
     * <code>.facebook.remote_execution.WorkerInfo worker_info = 6;</code>
     */
    public Builder setWorkerInfo(com.facebook.buck.remoteexecution.proto.WorkerInfo value) {
      if (workerInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        workerInfo_ = value;
        onChanged();
      } else {
        workerInfoBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.WorkerInfo worker_info = 6;</code>
     */
    public Builder setWorkerInfo(
        com.facebook.buck.remoteexecution.proto.WorkerInfo.Builder builderForValue) {
      if (workerInfoBuilder_ == null) {
        workerInfo_ = builderForValue.build();
        onChanged();
      } else {
        workerInfoBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.WorkerInfo worker_info = 6;</code>
     */
    public Builder mergeWorkerInfo(com.facebook.buck.remoteexecution.proto.WorkerInfo value) {
      if (workerInfoBuilder_ == null) {
        if (workerInfo_ != null) {
          workerInfo_ =
            com.facebook.buck.remoteexecution.proto.WorkerInfo.newBuilder(workerInfo_).mergeFrom(value).buildPartial();
        } else {
          workerInfo_ = value;
        }
        onChanged();
      } else {
        workerInfoBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.WorkerInfo worker_info = 6;</code>
     */
    public Builder clearWorkerInfo() {
      if (workerInfoBuilder_ == null) {
        workerInfo_ = null;
        onChanged();
      } else {
        workerInfo_ = null;
        workerInfoBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.WorkerInfo worker_info = 6;</code>
     */
    public com.facebook.buck.remoteexecution.proto.WorkerInfo.Builder getWorkerInfoBuilder() {
      
      onChanged();
      return getWorkerInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.facebook.remote_execution.WorkerInfo worker_info = 6;</code>
     */
    public com.facebook.buck.remoteexecution.proto.WorkerInfoOrBuilder getWorkerInfoOrBuilder() {
      if (workerInfoBuilder_ != null) {
        return workerInfoBuilder_.getMessageOrBuilder();
      } else {
        return workerInfo_ == null ?
            com.facebook.buck.remoteexecution.proto.WorkerInfo.getDefaultInstance() : workerInfo_;
      }
    }
    /**
     * <code>.facebook.remote_execution.WorkerInfo worker_info = 6;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.WorkerInfo, com.facebook.buck.remoteexecution.proto.WorkerInfo.Builder, com.facebook.buck.remoteexecution.proto.WorkerInfoOrBuilder> 
        getWorkerInfoFieldBuilder() {
      if (workerInfoBuilder_ == null) {
        workerInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.facebook.buck.remoteexecution.proto.WorkerInfo, com.facebook.buck.remoteexecution.proto.WorkerInfo.Builder, com.facebook.buck.remoteexecution.proto.WorkerInfoOrBuilder>(
                getWorkerInfo(),
                getParentForChildren(),
                isClean());
        workerInfo_ = null;
      }
      return workerInfoBuilder_;
    }

    private com.facebook.buck.remoteexecution.proto.CasClientInfo casClientInfo_;
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.CasClientInfo, com.facebook.buck.remoteexecution.proto.CasClientInfo.Builder, com.facebook.buck.remoteexecution.proto.CasClientInfoOrBuilder> casClientInfoBuilder_;
    /**
     * <code>.facebook.remote_execution.CasClientInfo cas_client_info = 7;</code>
     */
    public boolean hasCasClientInfo() {
      return casClientInfoBuilder_ != null || casClientInfo_ != null;
    }
    /**
     * <code>.facebook.remote_execution.CasClientInfo cas_client_info = 7;</code>
     */
    public com.facebook.buck.remoteexecution.proto.CasClientInfo getCasClientInfo() {
      if (casClientInfoBuilder_ == null) {
        return casClientInfo_ == null ? com.facebook.buck.remoteexecution.proto.CasClientInfo.getDefaultInstance() : casClientInfo_;
      } else {
        return casClientInfoBuilder_.getMessage();
      }
    }
    /**
     * <code>.facebook.remote_execution.CasClientInfo cas_client_info = 7;</code>
     */
    public Builder setCasClientInfo(com.facebook.buck.remoteexecution.proto.CasClientInfo value) {
      if (casClientInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        casClientInfo_ = value;
        onChanged();
      } else {
        casClientInfoBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.CasClientInfo cas_client_info = 7;</code>
     */
    public Builder setCasClientInfo(
        com.facebook.buck.remoteexecution.proto.CasClientInfo.Builder builderForValue) {
      if (casClientInfoBuilder_ == null) {
        casClientInfo_ = builderForValue.build();
        onChanged();
      } else {
        casClientInfoBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.CasClientInfo cas_client_info = 7;</code>
     */
    public Builder mergeCasClientInfo(com.facebook.buck.remoteexecution.proto.CasClientInfo value) {
      if (casClientInfoBuilder_ == null) {
        if (casClientInfo_ != null) {
          casClientInfo_ =
            com.facebook.buck.remoteexecution.proto.CasClientInfo.newBuilder(casClientInfo_).mergeFrom(value).buildPartial();
        } else {
          casClientInfo_ = value;
        }
        onChanged();
      } else {
        casClientInfoBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.CasClientInfo cas_client_info = 7;</code>
     */
    public Builder clearCasClientInfo() {
      if (casClientInfoBuilder_ == null) {
        casClientInfo_ = null;
        onChanged();
      } else {
        casClientInfo_ = null;
        casClientInfoBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.CasClientInfo cas_client_info = 7;</code>
     */
    public com.facebook.buck.remoteexecution.proto.CasClientInfo.Builder getCasClientInfoBuilder() {
      
      onChanged();
      return getCasClientInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.facebook.remote_execution.CasClientInfo cas_client_info = 7;</code>
     */
    public com.facebook.buck.remoteexecution.proto.CasClientInfoOrBuilder getCasClientInfoOrBuilder() {
      if (casClientInfoBuilder_ != null) {
        return casClientInfoBuilder_.getMessageOrBuilder();
      } else {
        return casClientInfo_ == null ?
            com.facebook.buck.remoteexecution.proto.CasClientInfo.getDefaultInstance() : casClientInfo_;
      }
    }
    /**
     * <code>.facebook.remote_execution.CasClientInfo cas_client_info = 7;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.CasClientInfo, com.facebook.buck.remoteexecution.proto.CasClientInfo.Builder, com.facebook.buck.remoteexecution.proto.CasClientInfoOrBuilder> 
        getCasClientInfoFieldBuilder() {
      if (casClientInfoBuilder_ == null) {
        casClientInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.facebook.buck.remoteexecution.proto.CasClientInfo, com.facebook.buck.remoteexecution.proto.CasClientInfo.Builder, com.facebook.buck.remoteexecution.proto.CasClientInfoOrBuilder>(
                getCasClientInfo(),
                getParentForChildren(),
                isClean());
        casClientInfo_ = null;
      }
      return casClientInfoBuilder_;
    }

    private com.facebook.buck.remoteexecution.proto.WorkerRequirements workerRequirements_;
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.WorkerRequirements, com.facebook.buck.remoteexecution.proto.WorkerRequirements.Builder, com.facebook.buck.remoteexecution.proto.WorkerRequirementsOrBuilder> workerRequirementsBuilder_;
    /**
     * <code>.facebook.remote_execution.WorkerRequirements worker_requirements = 8;</code>
     */
    public boolean hasWorkerRequirements() {
      return workerRequirementsBuilder_ != null || workerRequirements_ != null;
    }
    /**
     * <code>.facebook.remote_execution.WorkerRequirements worker_requirements = 8;</code>
     */
    public com.facebook.buck.remoteexecution.proto.WorkerRequirements getWorkerRequirements() {
      if (workerRequirementsBuilder_ == null) {
        return workerRequirements_ == null ? com.facebook.buck.remoteexecution.proto.WorkerRequirements.getDefaultInstance() : workerRequirements_;
      } else {
        return workerRequirementsBuilder_.getMessage();
      }
    }
    /**
     * <code>.facebook.remote_execution.WorkerRequirements worker_requirements = 8;</code>
     */
    public Builder setWorkerRequirements(com.facebook.buck.remoteexecution.proto.WorkerRequirements value) {
      if (workerRequirementsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        workerRequirements_ = value;
        onChanged();
      } else {
        workerRequirementsBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.WorkerRequirements worker_requirements = 8;</code>
     */
    public Builder setWorkerRequirements(
        com.facebook.buck.remoteexecution.proto.WorkerRequirements.Builder builderForValue) {
      if (workerRequirementsBuilder_ == null) {
        workerRequirements_ = builderForValue.build();
        onChanged();
      } else {
        workerRequirementsBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.WorkerRequirements worker_requirements = 8;</code>
     */
    public Builder mergeWorkerRequirements(com.facebook.buck.remoteexecution.proto.WorkerRequirements value) {
      if (workerRequirementsBuilder_ == null) {
        if (workerRequirements_ != null) {
          workerRequirements_ =
            com.facebook.buck.remoteexecution.proto.WorkerRequirements.newBuilder(workerRequirements_).mergeFrom(value).buildPartial();
        } else {
          workerRequirements_ = value;
        }
        onChanged();
      } else {
        workerRequirementsBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.WorkerRequirements worker_requirements = 8;</code>
     */
    public Builder clearWorkerRequirements() {
      if (workerRequirementsBuilder_ == null) {
        workerRequirements_ = null;
        onChanged();
      } else {
        workerRequirements_ = null;
        workerRequirementsBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.WorkerRequirements worker_requirements = 8;</code>
     */
    public com.facebook.buck.remoteexecution.proto.WorkerRequirements.Builder getWorkerRequirementsBuilder() {
      
      onChanged();
      return getWorkerRequirementsFieldBuilder().getBuilder();
    }
    /**
     * <code>.facebook.remote_execution.WorkerRequirements worker_requirements = 8;</code>
     */
    public com.facebook.buck.remoteexecution.proto.WorkerRequirementsOrBuilder getWorkerRequirementsOrBuilder() {
      if (workerRequirementsBuilder_ != null) {
        return workerRequirementsBuilder_.getMessageOrBuilder();
      } else {
        return workerRequirements_ == null ?
            com.facebook.buck.remoteexecution.proto.WorkerRequirements.getDefaultInstance() : workerRequirements_;
      }
    }
    /**
     * <code>.facebook.remote_execution.WorkerRequirements worker_requirements = 8;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.WorkerRequirements, com.facebook.buck.remoteexecution.proto.WorkerRequirements.Builder, com.facebook.buck.remoteexecution.proto.WorkerRequirementsOrBuilder> 
        getWorkerRequirementsFieldBuilder() {
      if (workerRequirementsBuilder_ == null) {
        workerRequirementsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.facebook.buck.remoteexecution.proto.WorkerRequirements, com.facebook.buck.remoteexecution.proto.WorkerRequirements.Builder, com.facebook.buck.remoteexecution.proto.WorkerRequirementsOrBuilder>(
                getWorkerRequirements(),
                getParentForChildren(),
                isClean());
        workerRequirements_ = null;
      }
      return workerRequirementsBuilder_;
    }

    private com.facebook.buck.remoteexecution.proto.ClientActionInfo clientActionInfo_;
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.ClientActionInfo, com.facebook.buck.remoteexecution.proto.ClientActionInfo.Builder, com.facebook.buck.remoteexecution.proto.ClientActionInfoOrBuilder> clientActionInfoBuilder_;
    /**
     * <pre>
     * 9 - Do not use, deprecated field.
     * </pre>
     *
     * <code>.facebook.remote_execution.ClientActionInfo client_action_info = 10;</code>
     */
    public boolean hasClientActionInfo() {
      return clientActionInfoBuilder_ != null || clientActionInfo_ != null;
    }
    /**
     * <pre>
     * 9 - Do not use, deprecated field.
     * </pre>
     *
     * <code>.facebook.remote_execution.ClientActionInfo client_action_info = 10;</code>
     */
    public com.facebook.buck.remoteexecution.proto.ClientActionInfo getClientActionInfo() {
      if (clientActionInfoBuilder_ == null) {
        return clientActionInfo_ == null ? com.facebook.buck.remoteexecution.proto.ClientActionInfo.getDefaultInstance() : clientActionInfo_;
      } else {
        return clientActionInfoBuilder_.getMessage();
      }
    }
    /**
     * <pre>
     * 9 - Do not use, deprecated field.
     * </pre>
     *
     * <code>.facebook.remote_execution.ClientActionInfo client_action_info = 10;</code>
     */
    public Builder setClientActionInfo(com.facebook.buck.remoteexecution.proto.ClientActionInfo value) {
      if (clientActionInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        clientActionInfo_ = value;
        onChanged();
      } else {
        clientActionInfoBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <pre>
     * 9 - Do not use, deprecated field.
     * </pre>
     *
     * <code>.facebook.remote_execution.ClientActionInfo client_action_info = 10;</code>
     */
    public Builder setClientActionInfo(
        com.facebook.buck.remoteexecution.proto.ClientActionInfo.Builder builderForValue) {
      if (clientActionInfoBuilder_ == null) {
        clientActionInfo_ = builderForValue.build();
        onChanged();
      } else {
        clientActionInfoBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <pre>
     * 9 - Do not use, deprecated field.
     * </pre>
     *
     * <code>.facebook.remote_execution.ClientActionInfo client_action_info = 10;</code>
     */
    public Builder mergeClientActionInfo(com.facebook.buck.remoteexecution.proto.ClientActionInfo value) {
      if (clientActionInfoBuilder_ == null) {
        if (clientActionInfo_ != null) {
          clientActionInfo_ =
            com.facebook.buck.remoteexecution.proto.ClientActionInfo.newBuilder(clientActionInfo_).mergeFrom(value).buildPartial();
        } else {
          clientActionInfo_ = value;
        }
        onChanged();
      } else {
        clientActionInfoBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <pre>
     * 9 - Do not use, deprecated field.
     * </pre>
     *
     * <code>.facebook.remote_execution.ClientActionInfo client_action_info = 10;</code>
     */
    public Builder clearClientActionInfo() {
      if (clientActionInfoBuilder_ == null) {
        clientActionInfo_ = null;
        onChanged();
      } else {
        clientActionInfo_ = null;
        clientActionInfoBuilder_ = null;
      }

      return this;
    }
    /**
     * <pre>
     * 9 - Do not use, deprecated field.
     * </pre>
     *
     * <code>.facebook.remote_execution.ClientActionInfo client_action_info = 10;</code>
     */
    public com.facebook.buck.remoteexecution.proto.ClientActionInfo.Builder getClientActionInfoBuilder() {
      
      onChanged();
      return getClientActionInfoFieldBuilder().getBuilder();
    }
    /**
     * <pre>
     * 9 - Do not use, deprecated field.
     * </pre>
     *
     * <code>.facebook.remote_execution.ClientActionInfo client_action_info = 10;</code>
     */
    public com.facebook.buck.remoteexecution.proto.ClientActionInfoOrBuilder getClientActionInfoOrBuilder() {
      if (clientActionInfoBuilder_ != null) {
        return clientActionInfoBuilder_.getMessageOrBuilder();
      } else {
        return clientActionInfo_ == null ?
            com.facebook.buck.remoteexecution.proto.ClientActionInfo.getDefaultInstance() : clientActionInfo_;
      }
    }
    /**
     * <pre>
     * 9 - Do not use, deprecated field.
     * </pre>
     *
     * <code>.facebook.remote_execution.ClientActionInfo client_action_info = 10;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.ClientActionInfo, com.facebook.buck.remoteexecution.proto.ClientActionInfo.Builder, com.facebook.buck.remoteexecution.proto.ClientActionInfoOrBuilder> 
        getClientActionInfoFieldBuilder() {
      if (clientActionInfoBuilder_ == null) {
        clientActionInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.facebook.buck.remoteexecution.proto.ClientActionInfo, com.facebook.buck.remoteexecution.proto.ClientActionInfo.Builder, com.facebook.buck.remoteexecution.proto.ClientActionInfoOrBuilder>(
                getClientActionInfo(),
                getParentForChildren(),
                isClean());
        clientActionInfo_ = null;
      }
      return clientActionInfoBuilder_;
    }

    private com.facebook.buck.remoteexecution.proto.ExecutedActionInfo executedActionInfo_;
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.ExecutedActionInfo, com.facebook.buck.remoteexecution.proto.ExecutedActionInfo.Builder, com.facebook.buck.remoteexecution.proto.ExecutedActionInfoOrBuilder> executedActionInfoBuilder_;
    /**
     * <code>.facebook.remote_execution.ExecutedActionInfo executed_action_info = 11;</code>
     */
    public boolean hasExecutedActionInfo() {
      return executedActionInfoBuilder_ != null || executedActionInfo_ != null;
    }
    /**
     * <code>.facebook.remote_execution.ExecutedActionInfo executed_action_info = 11;</code>
     */
    public com.facebook.buck.remoteexecution.proto.ExecutedActionInfo getExecutedActionInfo() {
      if (executedActionInfoBuilder_ == null) {
        return executedActionInfo_ == null ? com.facebook.buck.remoteexecution.proto.ExecutedActionInfo.getDefaultInstance() : executedActionInfo_;
      } else {
        return executedActionInfoBuilder_.getMessage();
      }
    }
    /**
     * <code>.facebook.remote_execution.ExecutedActionInfo executed_action_info = 11;</code>
     */
    public Builder setExecutedActionInfo(com.facebook.buck.remoteexecution.proto.ExecutedActionInfo value) {
      if (executedActionInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        executedActionInfo_ = value;
        onChanged();
      } else {
        executedActionInfoBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.ExecutedActionInfo executed_action_info = 11;</code>
     */
    public Builder setExecutedActionInfo(
        com.facebook.buck.remoteexecution.proto.ExecutedActionInfo.Builder builderForValue) {
      if (executedActionInfoBuilder_ == null) {
        executedActionInfo_ = builderForValue.build();
        onChanged();
      } else {
        executedActionInfoBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.ExecutedActionInfo executed_action_info = 11;</code>
     */
    public Builder mergeExecutedActionInfo(com.facebook.buck.remoteexecution.proto.ExecutedActionInfo value) {
      if (executedActionInfoBuilder_ == null) {
        if (executedActionInfo_ != null) {
          executedActionInfo_ =
            com.facebook.buck.remoteexecution.proto.ExecutedActionInfo.newBuilder(executedActionInfo_).mergeFrom(value).buildPartial();
        } else {
          executedActionInfo_ = value;
        }
        onChanged();
      } else {
        executedActionInfoBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.ExecutedActionInfo executed_action_info = 11;</code>
     */
    public Builder clearExecutedActionInfo() {
      if (executedActionInfoBuilder_ == null) {
        executedActionInfo_ = null;
        onChanged();
      } else {
        executedActionInfo_ = null;
        executedActionInfoBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.ExecutedActionInfo executed_action_info = 11;</code>
     */
    public com.facebook.buck.remoteexecution.proto.ExecutedActionInfo.Builder getExecutedActionInfoBuilder() {
      
      onChanged();
      return getExecutedActionInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.facebook.remote_execution.ExecutedActionInfo executed_action_info = 11;</code>
     */
    public com.facebook.buck.remoteexecution.proto.ExecutedActionInfoOrBuilder getExecutedActionInfoOrBuilder() {
      if (executedActionInfoBuilder_ != null) {
        return executedActionInfoBuilder_.getMessageOrBuilder();
      } else {
        return executedActionInfo_ == null ?
            com.facebook.buck.remoteexecution.proto.ExecutedActionInfo.getDefaultInstance() : executedActionInfo_;
      }
    }
    /**
     * <code>.facebook.remote_execution.ExecutedActionInfo executed_action_info = 11;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.ExecutedActionInfo, com.facebook.buck.remoteexecution.proto.ExecutedActionInfo.Builder, com.facebook.buck.remoteexecution.proto.ExecutedActionInfoOrBuilder> 
        getExecutedActionInfoFieldBuilder() {
      if (executedActionInfoBuilder_ == null) {
        executedActionInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.facebook.buck.remoteexecution.proto.ExecutedActionInfo, com.facebook.buck.remoteexecution.proto.ExecutedActionInfo.Builder, com.facebook.buck.remoteexecution.proto.ExecutedActionInfoOrBuilder>(
                getExecutedActionInfo(),
                getParentForChildren(),
                isClean());
        executedActionInfo_ = null;
      }
      return executedActionInfoBuilder_;
    }

    private com.facebook.buck.remoteexecution.proto.DebugInfo debugInfo_;
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.DebugInfo, com.facebook.buck.remoteexecution.proto.DebugInfo.Builder, com.facebook.buck.remoteexecution.proto.DebugInfoOrBuilder> debugInfoBuilder_;
    /**
     * <code>.facebook.remote_execution.DebugInfo debug_info = 12;</code>
     */
    public boolean hasDebugInfo() {
      return debugInfoBuilder_ != null || debugInfo_ != null;
    }
    /**
     * <code>.facebook.remote_execution.DebugInfo debug_info = 12;</code>
     */
    public com.facebook.buck.remoteexecution.proto.DebugInfo getDebugInfo() {
      if (debugInfoBuilder_ == null) {
        return debugInfo_ == null ? com.facebook.buck.remoteexecution.proto.DebugInfo.getDefaultInstance() : debugInfo_;
      } else {
        return debugInfoBuilder_.getMessage();
      }
    }
    /**
     * <code>.facebook.remote_execution.DebugInfo debug_info = 12;</code>
     */
    public Builder setDebugInfo(com.facebook.buck.remoteexecution.proto.DebugInfo value) {
      if (debugInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        debugInfo_ = value;
        onChanged();
      } else {
        debugInfoBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.DebugInfo debug_info = 12;</code>
     */
    public Builder setDebugInfo(
        com.facebook.buck.remoteexecution.proto.DebugInfo.Builder builderForValue) {
      if (debugInfoBuilder_ == null) {
        debugInfo_ = builderForValue.build();
        onChanged();
      } else {
        debugInfoBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.DebugInfo debug_info = 12;</code>
     */
    public Builder mergeDebugInfo(com.facebook.buck.remoteexecution.proto.DebugInfo value) {
      if (debugInfoBuilder_ == null) {
        if (debugInfo_ != null) {
          debugInfo_ =
            com.facebook.buck.remoteexecution.proto.DebugInfo.newBuilder(debugInfo_).mergeFrom(value).buildPartial();
        } else {
          debugInfo_ = value;
        }
        onChanged();
      } else {
        debugInfoBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.DebugInfo debug_info = 12;</code>
     */
    public Builder clearDebugInfo() {
      if (debugInfoBuilder_ == null) {
        debugInfo_ = null;
        onChanged();
      } else {
        debugInfo_ = null;
        debugInfoBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.DebugInfo debug_info = 12;</code>
     */
    public com.facebook.buck.remoteexecution.proto.DebugInfo.Builder getDebugInfoBuilder() {
      
      onChanged();
      return getDebugInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.facebook.remote_execution.DebugInfo debug_info = 12;</code>
     */
    public com.facebook.buck.remoteexecution.proto.DebugInfoOrBuilder getDebugInfoOrBuilder() {
      if (debugInfoBuilder_ != null) {
        return debugInfoBuilder_.getMessageOrBuilder();
      } else {
        return debugInfo_ == null ?
            com.facebook.buck.remoteexecution.proto.DebugInfo.getDefaultInstance() : debugInfo_;
      }
    }
    /**
     * <code>.facebook.remote_execution.DebugInfo debug_info = 12;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.DebugInfo, com.facebook.buck.remoteexecution.proto.DebugInfo.Builder, com.facebook.buck.remoteexecution.proto.DebugInfoOrBuilder> 
        getDebugInfoFieldBuilder() {
      if (debugInfoBuilder_ == null) {
        debugInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.facebook.buck.remoteexecution.proto.DebugInfo, com.facebook.buck.remoteexecution.proto.DebugInfo.Builder, com.facebook.buck.remoteexecution.proto.DebugInfoOrBuilder>(
                getDebugInfo(),
                getParentForChildren(),
                isClean());
        debugInfo_ = null;
      }
      return debugInfoBuilder_;
    }

    private com.facebook.buck.remoteexecution.proto.ClientJobInfo clientJobInfo_;
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.ClientJobInfo, com.facebook.buck.remoteexecution.proto.ClientJobInfo.Builder, com.facebook.buck.remoteexecution.proto.ClientJobInfoOrBuilder> clientJobInfoBuilder_;
    /**
     * <code>.facebook.remote_execution.ClientJobInfo client_job_info = 13;</code>
     */
    public boolean hasClientJobInfo() {
      return clientJobInfoBuilder_ != null || clientJobInfo_ != null;
    }
    /**
     * <code>.facebook.remote_execution.ClientJobInfo client_job_info = 13;</code>
     */
    public com.facebook.buck.remoteexecution.proto.ClientJobInfo getClientJobInfo() {
      if (clientJobInfoBuilder_ == null) {
        return clientJobInfo_ == null ? com.facebook.buck.remoteexecution.proto.ClientJobInfo.getDefaultInstance() : clientJobInfo_;
      } else {
        return clientJobInfoBuilder_.getMessage();
      }
    }
    /**
     * <code>.facebook.remote_execution.ClientJobInfo client_job_info = 13;</code>
     */
    public Builder setClientJobInfo(com.facebook.buck.remoteexecution.proto.ClientJobInfo value) {
      if (clientJobInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        clientJobInfo_ = value;
        onChanged();
      } else {
        clientJobInfoBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.ClientJobInfo client_job_info = 13;</code>
     */
    public Builder setClientJobInfo(
        com.facebook.buck.remoteexecution.proto.ClientJobInfo.Builder builderForValue) {
      if (clientJobInfoBuilder_ == null) {
        clientJobInfo_ = builderForValue.build();
        onChanged();
      } else {
        clientJobInfoBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.ClientJobInfo client_job_info = 13;</code>
     */
    public Builder mergeClientJobInfo(com.facebook.buck.remoteexecution.proto.ClientJobInfo value) {
      if (clientJobInfoBuilder_ == null) {
        if (clientJobInfo_ != null) {
          clientJobInfo_ =
            com.facebook.buck.remoteexecution.proto.ClientJobInfo.newBuilder(clientJobInfo_).mergeFrom(value).buildPartial();
        } else {
          clientJobInfo_ = value;
        }
        onChanged();
      } else {
        clientJobInfoBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.ClientJobInfo client_job_info = 13;</code>
     */
    public Builder clearClientJobInfo() {
      if (clientJobInfoBuilder_ == null) {
        clientJobInfo_ = null;
        onChanged();
      } else {
        clientJobInfo_ = null;
        clientJobInfoBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.facebook.remote_execution.ClientJobInfo client_job_info = 13;</code>
     */
    public com.facebook.buck.remoteexecution.proto.ClientJobInfo.Builder getClientJobInfoBuilder() {
      
      onChanged();
      return getClientJobInfoFieldBuilder().getBuilder();
    }
    /**
     * <code>.facebook.remote_execution.ClientJobInfo client_job_info = 13;</code>
     */
    public com.facebook.buck.remoteexecution.proto.ClientJobInfoOrBuilder getClientJobInfoOrBuilder() {
      if (clientJobInfoBuilder_ != null) {
        return clientJobInfoBuilder_.getMessageOrBuilder();
      } else {
        return clientJobInfo_ == null ?
            com.facebook.buck.remoteexecution.proto.ClientJobInfo.getDefaultInstance() : clientJobInfo_;
      }
    }
    /**
     * <code>.facebook.remote_execution.ClientJobInfo client_job_info = 13;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.facebook.buck.remoteexecution.proto.ClientJobInfo, com.facebook.buck.remoteexecution.proto.ClientJobInfo.Builder, com.facebook.buck.remoteexecution.proto.ClientJobInfoOrBuilder> 
        getClientJobInfoFieldBuilder() {
      if (clientJobInfoBuilder_ == null) {
        clientJobInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.facebook.buck.remoteexecution.proto.ClientJobInfo, com.facebook.buck.remoteexecution.proto.ClientJobInfo.Builder, com.facebook.buck.remoteexecution.proto.ClientJobInfoOrBuilder>(
                getClientJobInfo(),
                getParentForChildren(),
                isClean());
        clientJobInfo_ = null;
      }
      return clientJobInfoBuilder_;
    }
    @java.lang.Override
    public final Builder setUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.setUnknownFields(unknownFields);
    }

    @java.lang.Override
    public final Builder mergeUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.mergeUnknownFields(unknownFields);
    }


    // @@protoc_insertion_point(builder_scope:facebook.remote_execution.RemoteExecutionMetadata)
  }

  // @@protoc_insertion_point(class_scope:facebook.remote_execution.RemoteExecutionMetadata)
  private static final com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata DEFAULT_INSTANCE;
  static {
    DEFAULT_INSTANCE = new com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata();
  }

  public static com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  private static final com.google.protobuf.Parser<RemoteExecutionMetadata>
      PARSER = new com.google.protobuf.AbstractParser<RemoteExecutionMetadata>() {
    @java.lang.Override
    public RemoteExecutionMetadata parsePartialFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return new RemoteExecutionMetadata(input, extensionRegistry);
    }
  };

  public static com.google.protobuf.Parser<RemoteExecutionMetadata> parser() {
    return PARSER;
  }

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

  @java.lang.Override
  public com.facebook.buck.remoteexecution.proto.RemoteExecutionMetadata getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}

