All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.dimajix.flowman.kernel.proto.target.TargetDetails Maven / Gradle / Ivy

The newest version!
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: target.proto

package com.dimajix.flowman.kernel.proto.target;

/**
 * Protobuf type {@code com.dimajix.flowman.kernel.target.TargetDetails}
 */
public final class TargetDetails extends
    com.dimajix.shaded.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:com.dimajix.flowman.kernel.target.TargetDetails)
    TargetDetailsOrBuilder {
private static final long serialVersionUID = 0L;
  // Use TargetDetails.newBuilder() to construct.
  private TargetDetails(com.dimajix.shaded.protobuf.GeneratedMessageV3.Builder builder) {
    super(builder);
  }
  private TargetDetails() {
    project_ = "";
    name_ = "";
    kind_ = "";
    phases_ = java.util.Collections.emptyList();
    before_ = java.util.Collections.emptyList();
    after_ = java.util.Collections.emptyList();
    requiredByValidate_ = java.util.Collections.emptyList();
    requiredByCreate_ = java.util.Collections.emptyList();
    requiredByBuild_ = java.util.Collections.emptyList();
    requiredByVerify_ = java.util.Collections.emptyList();
    requiredByTruncate_ = java.util.Collections.emptyList();
    requiredByDestroy_ = java.util.Collections.emptyList();
    providedByValidate_ = java.util.Collections.emptyList();
    providedByCreate_ = java.util.Collections.emptyList();
    providedByBuild_ = java.util.Collections.emptyList();
    providedByVerify_ = java.util.Collections.emptyList();
    providedByTruncate_ = java.util.Collections.emptyList();
    providedByDestroy_ = java.util.Collections.emptyList();
  }

  @java.lang.Override
  @SuppressWarnings({"unused"})
  protected java.lang.Object newInstance(
      UnusedPrivateParameter unused) {
    return new TargetDetails();
  }

  public static final com.dimajix.shaded.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return com.dimajix.flowman.kernel.proto.target.TargetProto.internal_static_com_dimajix_flowman_kernel_target_TargetDetails_descriptor;
  }

  @java.lang.Override
  protected com.dimajix.shaded.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return com.dimajix.flowman.kernel.proto.target.TargetProto.internal_static_com_dimajix_flowman_kernel_target_TargetDetails_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            com.dimajix.flowman.kernel.proto.target.TargetDetails.class, com.dimajix.flowman.kernel.proto.target.TargetDetails.Builder.class);
  }

  private int bitField0_;
  public static final int PROJECT_FIELD_NUMBER = 1;
  @SuppressWarnings("serial")
  private volatile java.lang.Object project_ = "";
  /**
   * optional string project = 1;
   * @return Whether the project field is set.
   */
  @java.lang.Override
  public boolean hasProject() {
    return ((bitField0_ & 0x00000001) != 0);
  }
  /**
   * optional string project = 1;
   * @return The project.
   */
  @java.lang.Override
  public java.lang.String getProject() {
    java.lang.Object ref = project_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.dimajix.shaded.protobuf.ByteString bs = 
          (com.dimajix.shaded.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      project_ = s;
      return s;
    }
  }
  /**
   * optional string project = 1;
   * @return The bytes for project.
   */
  @java.lang.Override
  public com.dimajix.shaded.protobuf.ByteString
      getProjectBytes() {
    java.lang.Object ref = project_;
    if (ref instanceof java.lang.String) {
      com.dimajix.shaded.protobuf.ByteString b = 
          com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      project_ = b;
      return b;
    } else {
      return (com.dimajix.shaded.protobuf.ByteString) ref;
    }
  }

  public static final int NAME_FIELD_NUMBER = 2;
  @SuppressWarnings("serial")
  private volatile java.lang.Object name_ = "";
  /**
   * string name = 2;
   * @return The name.
   */
  @java.lang.Override
  public java.lang.String getName() {
    java.lang.Object ref = name_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.dimajix.shaded.protobuf.ByteString bs = 
          (com.dimajix.shaded.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      name_ = s;
      return s;
    }
  }
  /**
   * string name = 2;
   * @return The bytes for name.
   */
  @java.lang.Override
  public com.dimajix.shaded.protobuf.ByteString
      getNameBytes() {
    java.lang.Object ref = name_;
    if (ref instanceof java.lang.String) {
      com.dimajix.shaded.protobuf.ByteString b = 
          com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      name_ = b;
      return b;
    } else {
      return (com.dimajix.shaded.protobuf.ByteString) ref;
    }
  }

  public static final int KIND_FIELD_NUMBER = 3;
  @SuppressWarnings("serial")
  private volatile java.lang.Object kind_ = "";
  /**
   * string kind = 3;
   * @return The kind.
   */
  @java.lang.Override
  public java.lang.String getKind() {
    java.lang.Object ref = kind_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.dimajix.shaded.protobuf.ByteString bs = 
          (com.dimajix.shaded.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      kind_ = s;
      return s;
    }
  }
  /**
   * string kind = 3;
   * @return The bytes for kind.
   */
  @java.lang.Override
  public com.dimajix.shaded.protobuf.ByteString
      getKindBytes() {
    java.lang.Object ref = kind_;
    if (ref instanceof java.lang.String) {
      com.dimajix.shaded.protobuf.ByteString b = 
          com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      kind_ = b;
      return b;
    } else {
      return (com.dimajix.shaded.protobuf.ByteString) ref;
    }
  }

  public static final int PHASES_FIELD_NUMBER = 4;
  @SuppressWarnings("serial")
  private java.util.List phases_;
  private static final com.dimajix.shaded.protobuf.Internal.ListAdapter.Converter<
      java.lang.Integer, com.dimajix.flowman.kernel.proto.ExecutionPhase> phases_converter_ =
          new com.google.protobuf.Internal.ListAdapter.Converter<
              java.lang.Integer, com.dimajix.flowman.kernel.proto.ExecutionPhase>() {
            public com.dimajix.flowman.kernel.proto.ExecutionPhase convert(java.lang.Integer from) {
              com.dimajix.flowman.kernel.proto.ExecutionPhase result = com.dimajix.flowman.kernel.proto.ExecutionPhase.forNumber(from);
              return result == null ? com.dimajix.flowman.kernel.proto.ExecutionPhase.UNRECOGNIZED : result;
            }
          };
  /**
   * repeated .com.dimajix.flowman.kernel.ExecutionPhase phases = 4;
   * @return A list containing the phases.
   */
  @java.lang.Override
  public java.util.List getPhasesList() {
    return new com.google.protobuf.Internal.ListAdapter<
        java.lang.Integer, com.dimajix.flowman.kernel.proto.ExecutionPhase>(phases_, phases_converter_);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ExecutionPhase phases = 4;
   * @return The count of phases.
   */
  @java.lang.Override
  public int getPhasesCount() {
    return phases_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ExecutionPhase phases = 4;
   * @param index The index of the element to return.
   * @return The phases at the given index.
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ExecutionPhase getPhases(int index) {
    return phases_converter_.convert(phases_.get(index));
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ExecutionPhase phases = 4;
   * @return A list containing the enum numeric values on the wire for phases.
   */
  @java.lang.Override
  public java.util.List
  getPhasesValueList() {
    return phases_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ExecutionPhase phases = 4;
   * @param index The index of the value to return.
   * @return The enum numeric value on the wire of phases at the given index.
   */
  @java.lang.Override
  public int getPhasesValue(int index) {
    return phases_.get(index);
  }
  private int phasesMemoizedSerializedSize;

  public static final int BEFORE_FIELD_NUMBER = 5;
  @SuppressWarnings("serial")
  private java.util.List before_;
  /**
   * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
   */
  @java.lang.Override
  public java.util.List getBeforeList() {
    return before_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
   */
  @java.lang.Override
  public java.util.List 
      getBeforeOrBuilderList() {
    return before_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
   */
  @java.lang.Override
  public int getBeforeCount() {
    return before_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.TargetIdentifier getBefore(int index) {
    return before_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.TargetIdentifierOrBuilder getBeforeOrBuilder(
      int index) {
    return before_.get(index);
  }

  public static final int AFTER_FIELD_NUMBER = 6;
  @SuppressWarnings("serial")
  private java.util.List after_;
  /**
   * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
   */
  @java.lang.Override
  public java.util.List getAfterList() {
    return after_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
   */
  @java.lang.Override
  public java.util.List 
      getAfterOrBuilderList() {
    return after_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
   */
  @java.lang.Override
  public int getAfterCount() {
    return after_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.TargetIdentifier getAfter(int index) {
    return after_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.TargetIdentifierOrBuilder getAfterOrBuilder(
      int index) {
    return after_.get(index);
  }

  public static final int REQUIREDBYVALIDATE_FIELD_NUMBER = 9;
  @SuppressWarnings("serial")
  private java.util.List requiredByValidate_;
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
   */
  @java.lang.Override
  public java.util.List getRequiredByValidateList() {
    return requiredByValidate_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
   */
  @java.lang.Override
  public java.util.List 
      getRequiredByValidateOrBuilderList() {
    return requiredByValidate_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
   */
  @java.lang.Override
  public int getRequiredByValidateCount() {
    return requiredByValidate_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifier getRequiredByValidate(int index) {
    return requiredByValidate_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getRequiredByValidateOrBuilder(
      int index) {
    return requiredByValidate_.get(index);
  }

  public static final int REQUIREDBYCREATE_FIELD_NUMBER = 10;
  @SuppressWarnings("serial")
  private java.util.List requiredByCreate_;
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
   */
  @java.lang.Override
  public java.util.List getRequiredByCreateList() {
    return requiredByCreate_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
   */
  @java.lang.Override
  public java.util.List 
      getRequiredByCreateOrBuilderList() {
    return requiredByCreate_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
   */
  @java.lang.Override
  public int getRequiredByCreateCount() {
    return requiredByCreate_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifier getRequiredByCreate(int index) {
    return requiredByCreate_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getRequiredByCreateOrBuilder(
      int index) {
    return requiredByCreate_.get(index);
  }

  public static final int REQUIREDBYBUILD_FIELD_NUMBER = 11;
  @SuppressWarnings("serial")
  private java.util.List requiredByBuild_;
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
   */
  @java.lang.Override
  public java.util.List getRequiredByBuildList() {
    return requiredByBuild_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
   */
  @java.lang.Override
  public java.util.List 
      getRequiredByBuildOrBuilderList() {
    return requiredByBuild_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
   */
  @java.lang.Override
  public int getRequiredByBuildCount() {
    return requiredByBuild_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifier getRequiredByBuild(int index) {
    return requiredByBuild_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getRequiredByBuildOrBuilder(
      int index) {
    return requiredByBuild_.get(index);
  }

  public static final int REQUIREDBYVERIFY_FIELD_NUMBER = 12;
  @SuppressWarnings("serial")
  private java.util.List requiredByVerify_;
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
   */
  @java.lang.Override
  public java.util.List getRequiredByVerifyList() {
    return requiredByVerify_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
   */
  @java.lang.Override
  public java.util.List 
      getRequiredByVerifyOrBuilderList() {
    return requiredByVerify_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
   */
  @java.lang.Override
  public int getRequiredByVerifyCount() {
    return requiredByVerify_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifier getRequiredByVerify(int index) {
    return requiredByVerify_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getRequiredByVerifyOrBuilder(
      int index) {
    return requiredByVerify_.get(index);
  }

  public static final int REQUIREDBYTRUNCATE_FIELD_NUMBER = 13;
  @SuppressWarnings("serial")
  private java.util.List requiredByTruncate_;
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
   */
  @java.lang.Override
  public java.util.List getRequiredByTruncateList() {
    return requiredByTruncate_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
   */
  @java.lang.Override
  public java.util.List 
      getRequiredByTruncateOrBuilderList() {
    return requiredByTruncate_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
   */
  @java.lang.Override
  public int getRequiredByTruncateCount() {
    return requiredByTruncate_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifier getRequiredByTruncate(int index) {
    return requiredByTruncate_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getRequiredByTruncateOrBuilder(
      int index) {
    return requiredByTruncate_.get(index);
  }

  public static final int REQUIREDBYDESTROY_FIELD_NUMBER = 14;
  @SuppressWarnings("serial")
  private java.util.List requiredByDestroy_;
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
   */
  @java.lang.Override
  public java.util.List getRequiredByDestroyList() {
    return requiredByDestroy_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
   */
  @java.lang.Override
  public java.util.List 
      getRequiredByDestroyOrBuilderList() {
    return requiredByDestroy_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
   */
  @java.lang.Override
  public int getRequiredByDestroyCount() {
    return requiredByDestroy_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifier getRequiredByDestroy(int index) {
    return requiredByDestroy_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getRequiredByDestroyOrBuilder(
      int index) {
    return requiredByDestroy_.get(index);
  }

  public static final int PROVIDEDBYVALIDATE_FIELD_NUMBER = 15;
  @SuppressWarnings("serial")
  private java.util.List providedByValidate_;
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
   */
  @java.lang.Override
  public java.util.List getProvidedByValidateList() {
    return providedByValidate_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
   */
  @java.lang.Override
  public java.util.List 
      getProvidedByValidateOrBuilderList() {
    return providedByValidate_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
   */
  @java.lang.Override
  public int getProvidedByValidateCount() {
    return providedByValidate_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifier getProvidedByValidate(int index) {
    return providedByValidate_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getProvidedByValidateOrBuilder(
      int index) {
    return providedByValidate_.get(index);
  }

  public static final int PROVIDEDBYCREATE_FIELD_NUMBER = 16;
  @SuppressWarnings("serial")
  private java.util.List providedByCreate_;
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
   */
  @java.lang.Override
  public java.util.List getProvidedByCreateList() {
    return providedByCreate_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
   */
  @java.lang.Override
  public java.util.List 
      getProvidedByCreateOrBuilderList() {
    return providedByCreate_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
   */
  @java.lang.Override
  public int getProvidedByCreateCount() {
    return providedByCreate_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifier getProvidedByCreate(int index) {
    return providedByCreate_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getProvidedByCreateOrBuilder(
      int index) {
    return providedByCreate_.get(index);
  }

  public static final int PROVIDEDBYBUILD_FIELD_NUMBER = 17;
  @SuppressWarnings("serial")
  private java.util.List providedByBuild_;
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
   */
  @java.lang.Override
  public java.util.List getProvidedByBuildList() {
    return providedByBuild_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
   */
  @java.lang.Override
  public java.util.List 
      getProvidedByBuildOrBuilderList() {
    return providedByBuild_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
   */
  @java.lang.Override
  public int getProvidedByBuildCount() {
    return providedByBuild_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifier getProvidedByBuild(int index) {
    return providedByBuild_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getProvidedByBuildOrBuilder(
      int index) {
    return providedByBuild_.get(index);
  }

  public static final int PROVIDEDBYVERIFY_FIELD_NUMBER = 18;
  @SuppressWarnings("serial")
  private java.util.List providedByVerify_;
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
   */
  @java.lang.Override
  public java.util.List getProvidedByVerifyList() {
    return providedByVerify_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
   */
  @java.lang.Override
  public java.util.List 
      getProvidedByVerifyOrBuilderList() {
    return providedByVerify_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
   */
  @java.lang.Override
  public int getProvidedByVerifyCount() {
    return providedByVerify_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifier getProvidedByVerify(int index) {
    return providedByVerify_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getProvidedByVerifyOrBuilder(
      int index) {
    return providedByVerify_.get(index);
  }

  public static final int PROVIDEDBYTRUNCATE_FIELD_NUMBER = 19;
  @SuppressWarnings("serial")
  private java.util.List providedByTruncate_;
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
   */
  @java.lang.Override
  public java.util.List getProvidedByTruncateList() {
    return providedByTruncate_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
   */
  @java.lang.Override
  public java.util.List 
      getProvidedByTruncateOrBuilderList() {
    return providedByTruncate_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
   */
  @java.lang.Override
  public int getProvidedByTruncateCount() {
    return providedByTruncate_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifier getProvidedByTruncate(int index) {
    return providedByTruncate_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getProvidedByTruncateOrBuilder(
      int index) {
    return providedByTruncate_.get(index);
  }

  public static final int PROVIDEDBYDESTROY_FIELD_NUMBER = 20;
  @SuppressWarnings("serial")
  private java.util.List providedByDestroy_;
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
   */
  @java.lang.Override
  public java.util.List getProvidedByDestroyList() {
    return providedByDestroy_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
   */
  @java.lang.Override
  public java.util.List 
      getProvidedByDestroyOrBuilderList() {
    return providedByDestroy_;
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
   */
  @java.lang.Override
  public int getProvidedByDestroyCount() {
    return providedByDestroy_.size();
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifier getProvidedByDestroy(int index) {
    return providedByDestroy_.get(index);
  }
  /**
   * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
   */
  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getProvidedByDestroyOrBuilder(
      int index) {
    return providedByDestroy_.get(index);
  }

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

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.dimajix.shaded.protobuf.CodedOutputStream output)
                      throws java.io.IOException {
    getSerializedSize();
    if (((bitField0_ & 0x00000001) != 0)) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 1, project_);
    }
    if (!com.dimajix.shaded.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
    }
    if (!com.dimajix.shaded.protobuf.GeneratedMessageV3.isStringEmpty(kind_)) {
      com.dimajix.shaded.protobuf.GeneratedMessageV3.writeString(output, 3, kind_);
    }
    if (getPhasesList().size() > 0) {
      output.writeUInt32NoTag(34);
      output.writeUInt32NoTag(phasesMemoizedSerializedSize);
    }
    for (int i = 0; i < phases_.size(); i++) {
      output.writeEnumNoTag(phases_.get(i));
    }
    for (int i = 0; i < before_.size(); i++) {
      output.writeMessage(5, before_.get(i));
    }
    for (int i = 0; i < after_.size(); i++) {
      output.writeMessage(6, after_.get(i));
    }
    for (int i = 0; i < requiredByValidate_.size(); i++) {
      output.writeMessage(9, requiredByValidate_.get(i));
    }
    for (int i = 0; i < requiredByCreate_.size(); i++) {
      output.writeMessage(10, requiredByCreate_.get(i));
    }
    for (int i = 0; i < requiredByBuild_.size(); i++) {
      output.writeMessage(11, requiredByBuild_.get(i));
    }
    for (int i = 0; i < requiredByVerify_.size(); i++) {
      output.writeMessage(12, requiredByVerify_.get(i));
    }
    for (int i = 0; i < requiredByTruncate_.size(); i++) {
      output.writeMessage(13, requiredByTruncate_.get(i));
    }
    for (int i = 0; i < requiredByDestroy_.size(); i++) {
      output.writeMessage(14, requiredByDestroy_.get(i));
    }
    for (int i = 0; i < providedByValidate_.size(); i++) {
      output.writeMessage(15, providedByValidate_.get(i));
    }
    for (int i = 0; i < providedByCreate_.size(); i++) {
      output.writeMessage(16, providedByCreate_.get(i));
    }
    for (int i = 0; i < providedByBuild_.size(); i++) {
      output.writeMessage(17, providedByBuild_.get(i));
    }
    for (int i = 0; i < providedByVerify_.size(); i++) {
      output.writeMessage(18, providedByVerify_.get(i));
    }
    for (int i = 0; i < providedByTruncate_.size(); i++) {
      output.writeMessage(19, providedByTruncate_.get(i));
    }
    for (int i = 0; i < providedByDestroy_.size(); i++) {
      output.writeMessage(20, providedByDestroy_.get(i));
    }
    getUnknownFields().writeTo(output);
  }

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

    size = 0;
    if (((bitField0_ & 0x00000001) != 0)) {
      size += com.dimajix.shaded.protobuf.GeneratedMessageV3.computeStringSize(1, project_);
    }
    if (!com.dimajix.shaded.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
      size += com.dimajix.shaded.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
    }
    if (!com.dimajix.shaded.protobuf.GeneratedMessageV3.isStringEmpty(kind_)) {
      size += com.dimajix.shaded.protobuf.GeneratedMessageV3.computeStringSize(3, kind_);
    }
    {
      int dataSize = 0;
      for (int i = 0; i < phases_.size(); i++) {
        dataSize += com.dimajix.shaded.protobuf.CodedOutputStream
          .computeEnumSizeNoTag(phases_.get(i));
      }
      size += dataSize;
      if (!getPhasesList().isEmpty()) {  size += 1;
        size += com.dimajix.shaded.protobuf.CodedOutputStream
          .computeUInt32SizeNoTag(dataSize);
      }phasesMemoizedSerializedSize = dataSize;
    }
    for (int i = 0; i < before_.size(); i++) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(5, before_.get(i));
    }
    for (int i = 0; i < after_.size(); i++) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(6, after_.get(i));
    }
    for (int i = 0; i < requiredByValidate_.size(); i++) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(9, requiredByValidate_.get(i));
    }
    for (int i = 0; i < requiredByCreate_.size(); i++) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(10, requiredByCreate_.get(i));
    }
    for (int i = 0; i < requiredByBuild_.size(); i++) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(11, requiredByBuild_.get(i));
    }
    for (int i = 0; i < requiredByVerify_.size(); i++) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(12, requiredByVerify_.get(i));
    }
    for (int i = 0; i < requiredByTruncate_.size(); i++) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(13, requiredByTruncate_.get(i));
    }
    for (int i = 0; i < requiredByDestroy_.size(); i++) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(14, requiredByDestroy_.get(i));
    }
    for (int i = 0; i < providedByValidate_.size(); i++) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(15, providedByValidate_.get(i));
    }
    for (int i = 0; i < providedByCreate_.size(); i++) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(16, providedByCreate_.get(i));
    }
    for (int i = 0; i < providedByBuild_.size(); i++) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(17, providedByBuild_.get(i));
    }
    for (int i = 0; i < providedByVerify_.size(); i++) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(18, providedByVerify_.get(i));
    }
    for (int i = 0; i < providedByTruncate_.size(); i++) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(19, providedByTruncate_.get(i));
    }
    for (int i = 0; i < providedByDestroy_.size(); i++) {
      size += com.dimajix.shaded.protobuf.CodedOutputStream
        .computeMessageSize(20, providedByDestroy_.get(i));
    }
    size += getUnknownFields().getSerializedSize();
    memoizedSize = size;
    return size;
  }

  @java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
     return true;
    }
    if (!(obj instanceof com.dimajix.flowman.kernel.proto.target.TargetDetails)) {
      return super.equals(obj);
    }
    com.dimajix.flowman.kernel.proto.target.TargetDetails other = (com.dimajix.flowman.kernel.proto.target.TargetDetails) obj;

    if (hasProject() != other.hasProject()) return false;
    if (hasProject()) {
      if (!getProject()
          .equals(other.getProject())) return false;
    }
    if (!getName()
        .equals(other.getName())) return false;
    if (!getKind()
        .equals(other.getKind())) return false;
    if (!phases_.equals(other.phases_)) return false;
    if (!getBeforeList()
        .equals(other.getBeforeList())) return false;
    if (!getAfterList()
        .equals(other.getAfterList())) return false;
    if (!getRequiredByValidateList()
        .equals(other.getRequiredByValidateList())) return false;
    if (!getRequiredByCreateList()
        .equals(other.getRequiredByCreateList())) return false;
    if (!getRequiredByBuildList()
        .equals(other.getRequiredByBuildList())) return false;
    if (!getRequiredByVerifyList()
        .equals(other.getRequiredByVerifyList())) return false;
    if (!getRequiredByTruncateList()
        .equals(other.getRequiredByTruncateList())) return false;
    if (!getRequiredByDestroyList()
        .equals(other.getRequiredByDestroyList())) return false;
    if (!getProvidedByValidateList()
        .equals(other.getProvidedByValidateList())) return false;
    if (!getProvidedByCreateList()
        .equals(other.getProvidedByCreateList())) return false;
    if (!getProvidedByBuildList()
        .equals(other.getProvidedByBuildList())) return false;
    if (!getProvidedByVerifyList()
        .equals(other.getProvidedByVerifyList())) return false;
    if (!getProvidedByTruncateList()
        .equals(other.getProvidedByTruncateList())) return false;
    if (!getProvidedByDestroyList()
        .equals(other.getProvidedByDestroyList())) return false;
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    if (hasProject()) {
      hash = (37 * hash) + PROJECT_FIELD_NUMBER;
      hash = (53 * hash) + getProject().hashCode();
    }
    hash = (37 * hash) + NAME_FIELD_NUMBER;
    hash = (53 * hash) + getName().hashCode();
    hash = (37 * hash) + KIND_FIELD_NUMBER;
    hash = (53 * hash) + getKind().hashCode();
    if (getPhasesCount() > 0) {
      hash = (37 * hash) + PHASES_FIELD_NUMBER;
      hash = (53 * hash) + phases_.hashCode();
    }
    if (getBeforeCount() > 0) {
      hash = (37 * hash) + BEFORE_FIELD_NUMBER;
      hash = (53 * hash) + getBeforeList().hashCode();
    }
    if (getAfterCount() > 0) {
      hash = (37 * hash) + AFTER_FIELD_NUMBER;
      hash = (53 * hash) + getAfterList().hashCode();
    }
    if (getRequiredByValidateCount() > 0) {
      hash = (37 * hash) + REQUIREDBYVALIDATE_FIELD_NUMBER;
      hash = (53 * hash) + getRequiredByValidateList().hashCode();
    }
    if (getRequiredByCreateCount() > 0) {
      hash = (37 * hash) + REQUIREDBYCREATE_FIELD_NUMBER;
      hash = (53 * hash) + getRequiredByCreateList().hashCode();
    }
    if (getRequiredByBuildCount() > 0) {
      hash = (37 * hash) + REQUIREDBYBUILD_FIELD_NUMBER;
      hash = (53 * hash) + getRequiredByBuildList().hashCode();
    }
    if (getRequiredByVerifyCount() > 0) {
      hash = (37 * hash) + REQUIREDBYVERIFY_FIELD_NUMBER;
      hash = (53 * hash) + getRequiredByVerifyList().hashCode();
    }
    if (getRequiredByTruncateCount() > 0) {
      hash = (37 * hash) + REQUIREDBYTRUNCATE_FIELD_NUMBER;
      hash = (53 * hash) + getRequiredByTruncateList().hashCode();
    }
    if (getRequiredByDestroyCount() > 0) {
      hash = (37 * hash) + REQUIREDBYDESTROY_FIELD_NUMBER;
      hash = (53 * hash) + getRequiredByDestroyList().hashCode();
    }
    if (getProvidedByValidateCount() > 0) {
      hash = (37 * hash) + PROVIDEDBYVALIDATE_FIELD_NUMBER;
      hash = (53 * hash) + getProvidedByValidateList().hashCode();
    }
    if (getProvidedByCreateCount() > 0) {
      hash = (37 * hash) + PROVIDEDBYCREATE_FIELD_NUMBER;
      hash = (53 * hash) + getProvidedByCreateList().hashCode();
    }
    if (getProvidedByBuildCount() > 0) {
      hash = (37 * hash) + PROVIDEDBYBUILD_FIELD_NUMBER;
      hash = (53 * hash) + getProvidedByBuildList().hashCode();
    }
    if (getProvidedByVerifyCount() > 0) {
      hash = (37 * hash) + PROVIDEDBYVERIFY_FIELD_NUMBER;
      hash = (53 * hash) + getProvidedByVerifyList().hashCode();
    }
    if (getProvidedByTruncateCount() > 0) {
      hash = (37 * hash) + PROVIDEDBYTRUNCATE_FIELD_NUMBER;
      hash = (53 * hash) + getProvidedByTruncateList().hashCode();
    }
    if (getProvidedByDestroyCount() > 0) {
      hash = (37 * hash) + PROVIDEDBYDESTROY_FIELD_NUMBER;
      hash = (53 * hash) + getProvidedByDestroyList().hashCode();
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static com.dimajix.flowman.kernel.proto.target.TargetDetails parseFrom(
      java.nio.ByteBuffer data)
      throws com.dimajix.shaded.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.dimajix.flowman.kernel.proto.target.TargetDetails parseFrom(
      java.nio.ByteBuffer data,
      com.dimajix.shaded.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.dimajix.shaded.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.dimajix.flowman.kernel.proto.target.TargetDetails parseFrom(
      com.dimajix.shaded.protobuf.ByteString data)
      throws com.dimajix.shaded.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.dimajix.flowman.kernel.proto.target.TargetDetails parseFrom(
      com.dimajix.shaded.protobuf.ByteString data,
      com.dimajix.shaded.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.dimajix.shaded.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.dimajix.flowman.kernel.proto.target.TargetDetails parseFrom(byte[] data)
      throws com.dimajix.shaded.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.dimajix.flowman.kernel.proto.target.TargetDetails parseFrom(
      byte[] data,
      com.dimajix.shaded.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.dimajix.shaded.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.dimajix.flowman.kernel.proto.target.TargetDetails parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static com.dimajix.flowman.kernel.proto.target.TargetDetails parseFrom(
      java.io.InputStream input,
      com.dimajix.shaded.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input, extensionRegistry);
  }
  public static com.dimajix.flowman.kernel.proto.target.TargetDetails parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input);
  }
  public static com.dimajix.flowman.kernel.proto.target.TargetDetails parseDelimitedFrom(
      java.io.InputStream input,
      com.dimajix.shaded.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
  }
  public static com.dimajix.flowman.kernel.proto.target.TargetDetails parseFrom(
      com.dimajix.shaded.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static com.dimajix.flowman.kernel.proto.target.TargetDetails parseFrom(
      com.dimajix.shaded.protobuf.CodedInputStream input,
      com.dimajix.shaded.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.dimajix.flowman.kernel.proto.target.TargetDetails 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.dimajix.shaded.protobuf.GeneratedMessageV3.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   * Protobuf type {@code com.dimajix.flowman.kernel.target.TargetDetails}
   */
  public static final class Builder extends
      com.dimajix.shaded.protobuf.GeneratedMessageV3.Builder implements
      // @@protoc_insertion_point(builder_implements:com.dimajix.flowman.kernel.target.TargetDetails)
      com.dimajix.flowman.kernel.proto.target.TargetDetailsOrBuilder {
    public static final com.dimajix.shaded.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dimajix.flowman.kernel.proto.target.TargetProto.internal_static_com_dimajix_flowman_kernel_target_TargetDetails_descriptor;
    }

    @java.lang.Override
    protected com.dimajix.shaded.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dimajix.flowman.kernel.proto.target.TargetProto.internal_static_com_dimajix_flowman_kernel_target_TargetDetails_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dimajix.flowman.kernel.proto.target.TargetDetails.class, com.dimajix.flowman.kernel.proto.target.TargetDetails.Builder.class);
    }

    // Construct using com.dimajix.flowman.kernel.proto.target.TargetDetails.newBuilder()
    private Builder() {

    }

    private Builder(
        com.dimajix.shaded.protobuf.GeneratedMessageV3.BuilderParent parent) {
      super(parent);

    }
    @java.lang.Override
    public Builder clear() {
      super.clear();
      bitField0_ = 0;
      project_ = "";
      name_ = "";
      kind_ = "";
      phases_ = java.util.Collections.emptyList();
      bitField0_ = (bitField0_ & ~0x00000008);
      if (beforeBuilder_ == null) {
        before_ = java.util.Collections.emptyList();
      } else {
        before_ = null;
        beforeBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000010);
      if (afterBuilder_ == null) {
        after_ = java.util.Collections.emptyList();
      } else {
        after_ = null;
        afterBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000020);
      if (requiredByValidateBuilder_ == null) {
        requiredByValidate_ = java.util.Collections.emptyList();
      } else {
        requiredByValidate_ = null;
        requiredByValidateBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000040);
      if (requiredByCreateBuilder_ == null) {
        requiredByCreate_ = java.util.Collections.emptyList();
      } else {
        requiredByCreate_ = null;
        requiredByCreateBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000080);
      if (requiredByBuildBuilder_ == null) {
        requiredByBuild_ = java.util.Collections.emptyList();
      } else {
        requiredByBuild_ = null;
        requiredByBuildBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000100);
      if (requiredByVerifyBuilder_ == null) {
        requiredByVerify_ = java.util.Collections.emptyList();
      } else {
        requiredByVerify_ = null;
        requiredByVerifyBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000200);
      if (requiredByTruncateBuilder_ == null) {
        requiredByTruncate_ = java.util.Collections.emptyList();
      } else {
        requiredByTruncate_ = null;
        requiredByTruncateBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000400);
      if (requiredByDestroyBuilder_ == null) {
        requiredByDestroy_ = java.util.Collections.emptyList();
      } else {
        requiredByDestroy_ = null;
        requiredByDestroyBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000800);
      if (providedByValidateBuilder_ == null) {
        providedByValidate_ = java.util.Collections.emptyList();
      } else {
        providedByValidate_ = null;
        providedByValidateBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00001000);
      if (providedByCreateBuilder_ == null) {
        providedByCreate_ = java.util.Collections.emptyList();
      } else {
        providedByCreate_ = null;
        providedByCreateBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00002000);
      if (providedByBuildBuilder_ == null) {
        providedByBuild_ = java.util.Collections.emptyList();
      } else {
        providedByBuild_ = null;
        providedByBuildBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00004000);
      if (providedByVerifyBuilder_ == null) {
        providedByVerify_ = java.util.Collections.emptyList();
      } else {
        providedByVerify_ = null;
        providedByVerifyBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00008000);
      if (providedByTruncateBuilder_ == null) {
        providedByTruncate_ = java.util.Collections.emptyList();
      } else {
        providedByTruncate_ = null;
        providedByTruncateBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00010000);
      if (providedByDestroyBuilder_ == null) {
        providedByDestroy_ = java.util.Collections.emptyList();
      } else {
        providedByDestroy_ = null;
        providedByDestroyBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00020000);
      return this;
    }

    @java.lang.Override
    public com.dimajix.shaded.protobuf.Descriptors.Descriptor
        getDescriptorForType() {
      return com.dimajix.flowman.kernel.proto.target.TargetProto.internal_static_com_dimajix_flowman_kernel_target_TargetDetails_descriptor;
    }

    @java.lang.Override
    public com.dimajix.flowman.kernel.proto.target.TargetDetails getDefaultInstanceForType() {
      return com.dimajix.flowman.kernel.proto.target.TargetDetails.getDefaultInstance();
    }

    @java.lang.Override
    public com.dimajix.flowman.kernel.proto.target.TargetDetails build() {
      com.dimajix.flowman.kernel.proto.target.TargetDetails result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public com.dimajix.flowman.kernel.proto.target.TargetDetails buildPartial() {
      com.dimajix.flowman.kernel.proto.target.TargetDetails result = new com.dimajix.flowman.kernel.proto.target.TargetDetails(this);
      buildPartialRepeatedFields(result);
      if (bitField0_ != 0) { buildPartial0(result); }
      onBuilt();
      return result;
    }

    private void buildPartialRepeatedFields(com.dimajix.flowman.kernel.proto.target.TargetDetails result) {
      if (((bitField0_ & 0x00000008) != 0)) {
        phases_ = java.util.Collections.unmodifiableList(phases_);
        bitField0_ = (bitField0_ & ~0x00000008);
      }
      result.phases_ = phases_;
      if (beforeBuilder_ == null) {
        if (((bitField0_ & 0x00000010) != 0)) {
          before_ = java.util.Collections.unmodifiableList(before_);
          bitField0_ = (bitField0_ & ~0x00000010);
        }
        result.before_ = before_;
      } else {
        result.before_ = beforeBuilder_.build();
      }
      if (afterBuilder_ == null) {
        if (((bitField0_ & 0x00000020) != 0)) {
          after_ = java.util.Collections.unmodifiableList(after_);
          bitField0_ = (bitField0_ & ~0x00000020);
        }
        result.after_ = after_;
      } else {
        result.after_ = afterBuilder_.build();
      }
      if (requiredByValidateBuilder_ == null) {
        if (((bitField0_ & 0x00000040) != 0)) {
          requiredByValidate_ = java.util.Collections.unmodifiableList(requiredByValidate_);
          bitField0_ = (bitField0_ & ~0x00000040);
        }
        result.requiredByValidate_ = requiredByValidate_;
      } else {
        result.requiredByValidate_ = requiredByValidateBuilder_.build();
      }
      if (requiredByCreateBuilder_ == null) {
        if (((bitField0_ & 0x00000080) != 0)) {
          requiredByCreate_ = java.util.Collections.unmodifiableList(requiredByCreate_);
          bitField0_ = (bitField0_ & ~0x00000080);
        }
        result.requiredByCreate_ = requiredByCreate_;
      } else {
        result.requiredByCreate_ = requiredByCreateBuilder_.build();
      }
      if (requiredByBuildBuilder_ == null) {
        if (((bitField0_ & 0x00000100) != 0)) {
          requiredByBuild_ = java.util.Collections.unmodifiableList(requiredByBuild_);
          bitField0_ = (bitField0_ & ~0x00000100);
        }
        result.requiredByBuild_ = requiredByBuild_;
      } else {
        result.requiredByBuild_ = requiredByBuildBuilder_.build();
      }
      if (requiredByVerifyBuilder_ == null) {
        if (((bitField0_ & 0x00000200) != 0)) {
          requiredByVerify_ = java.util.Collections.unmodifiableList(requiredByVerify_);
          bitField0_ = (bitField0_ & ~0x00000200);
        }
        result.requiredByVerify_ = requiredByVerify_;
      } else {
        result.requiredByVerify_ = requiredByVerifyBuilder_.build();
      }
      if (requiredByTruncateBuilder_ == null) {
        if (((bitField0_ & 0x00000400) != 0)) {
          requiredByTruncate_ = java.util.Collections.unmodifiableList(requiredByTruncate_);
          bitField0_ = (bitField0_ & ~0x00000400);
        }
        result.requiredByTruncate_ = requiredByTruncate_;
      } else {
        result.requiredByTruncate_ = requiredByTruncateBuilder_.build();
      }
      if (requiredByDestroyBuilder_ == null) {
        if (((bitField0_ & 0x00000800) != 0)) {
          requiredByDestroy_ = java.util.Collections.unmodifiableList(requiredByDestroy_);
          bitField0_ = (bitField0_ & ~0x00000800);
        }
        result.requiredByDestroy_ = requiredByDestroy_;
      } else {
        result.requiredByDestroy_ = requiredByDestroyBuilder_.build();
      }
      if (providedByValidateBuilder_ == null) {
        if (((bitField0_ & 0x00001000) != 0)) {
          providedByValidate_ = java.util.Collections.unmodifiableList(providedByValidate_);
          bitField0_ = (bitField0_ & ~0x00001000);
        }
        result.providedByValidate_ = providedByValidate_;
      } else {
        result.providedByValidate_ = providedByValidateBuilder_.build();
      }
      if (providedByCreateBuilder_ == null) {
        if (((bitField0_ & 0x00002000) != 0)) {
          providedByCreate_ = java.util.Collections.unmodifiableList(providedByCreate_);
          bitField0_ = (bitField0_ & ~0x00002000);
        }
        result.providedByCreate_ = providedByCreate_;
      } else {
        result.providedByCreate_ = providedByCreateBuilder_.build();
      }
      if (providedByBuildBuilder_ == null) {
        if (((bitField0_ & 0x00004000) != 0)) {
          providedByBuild_ = java.util.Collections.unmodifiableList(providedByBuild_);
          bitField0_ = (bitField0_ & ~0x00004000);
        }
        result.providedByBuild_ = providedByBuild_;
      } else {
        result.providedByBuild_ = providedByBuildBuilder_.build();
      }
      if (providedByVerifyBuilder_ == null) {
        if (((bitField0_ & 0x00008000) != 0)) {
          providedByVerify_ = java.util.Collections.unmodifiableList(providedByVerify_);
          bitField0_ = (bitField0_ & ~0x00008000);
        }
        result.providedByVerify_ = providedByVerify_;
      } else {
        result.providedByVerify_ = providedByVerifyBuilder_.build();
      }
      if (providedByTruncateBuilder_ == null) {
        if (((bitField0_ & 0x00010000) != 0)) {
          providedByTruncate_ = java.util.Collections.unmodifiableList(providedByTruncate_);
          bitField0_ = (bitField0_ & ~0x00010000);
        }
        result.providedByTruncate_ = providedByTruncate_;
      } else {
        result.providedByTruncate_ = providedByTruncateBuilder_.build();
      }
      if (providedByDestroyBuilder_ == null) {
        if (((bitField0_ & 0x00020000) != 0)) {
          providedByDestroy_ = java.util.Collections.unmodifiableList(providedByDestroy_);
          bitField0_ = (bitField0_ & ~0x00020000);
        }
        result.providedByDestroy_ = providedByDestroy_;
      } else {
        result.providedByDestroy_ = providedByDestroyBuilder_.build();
      }
    }

    private void buildPartial0(com.dimajix.flowman.kernel.proto.target.TargetDetails result) {
      int from_bitField0_ = bitField0_;
      int to_bitField0_ = 0;
      if (((from_bitField0_ & 0x00000001) != 0)) {
        result.project_ = project_;
        to_bitField0_ |= 0x00000001;
      }
      if (((from_bitField0_ & 0x00000002) != 0)) {
        result.name_ = name_;
      }
      if (((from_bitField0_ & 0x00000004) != 0)) {
        result.kind_ = kind_;
      }
      result.bitField0_ |= to_bitField0_;
    }

    @java.lang.Override
    public Builder mergeFrom(com.dimajix.shaded.protobuf.Message other) {
      if (other instanceof com.dimajix.flowman.kernel.proto.target.TargetDetails) {
        return mergeFrom((com.dimajix.flowman.kernel.proto.target.TargetDetails)other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(com.dimajix.flowman.kernel.proto.target.TargetDetails other) {
      if (other == com.dimajix.flowman.kernel.proto.target.TargetDetails.getDefaultInstance()) return this;
      if (other.hasProject()) {
        project_ = other.project_;
        bitField0_ |= 0x00000001;
        onChanged();
      }
      if (!other.getName().isEmpty()) {
        name_ = other.name_;
        bitField0_ |= 0x00000002;
        onChanged();
      }
      if (!other.getKind().isEmpty()) {
        kind_ = other.kind_;
        bitField0_ |= 0x00000004;
        onChanged();
      }
      if (!other.phases_.isEmpty()) {
        if (phases_.isEmpty()) {
          phases_ = other.phases_;
          bitField0_ = (bitField0_ & ~0x00000008);
        } else {
          ensurePhasesIsMutable();
          phases_.addAll(other.phases_);
        }
        onChanged();
      }
      if (beforeBuilder_ == null) {
        if (!other.before_.isEmpty()) {
          if (before_.isEmpty()) {
            before_ = other.before_;
            bitField0_ = (bitField0_ & ~0x00000010);
          } else {
            ensureBeforeIsMutable();
            before_.addAll(other.before_);
          }
          onChanged();
        }
      } else {
        if (!other.before_.isEmpty()) {
          if (beforeBuilder_.isEmpty()) {
            beforeBuilder_.dispose();
            beforeBuilder_ = null;
            before_ = other.before_;
            bitField0_ = (bitField0_ & ~0x00000010);
            beforeBuilder_ = 
              com.dimajix.shaded.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getBeforeFieldBuilder() : null;
          } else {
            beforeBuilder_.addAllMessages(other.before_);
          }
        }
      }
      if (afterBuilder_ == null) {
        if (!other.after_.isEmpty()) {
          if (after_.isEmpty()) {
            after_ = other.after_;
            bitField0_ = (bitField0_ & ~0x00000020);
          } else {
            ensureAfterIsMutable();
            after_.addAll(other.after_);
          }
          onChanged();
        }
      } else {
        if (!other.after_.isEmpty()) {
          if (afterBuilder_.isEmpty()) {
            afterBuilder_.dispose();
            afterBuilder_ = null;
            after_ = other.after_;
            bitField0_ = (bitField0_ & ~0x00000020);
            afterBuilder_ = 
              com.dimajix.shaded.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getAfterFieldBuilder() : null;
          } else {
            afterBuilder_.addAllMessages(other.after_);
          }
        }
      }
      if (requiredByValidateBuilder_ == null) {
        if (!other.requiredByValidate_.isEmpty()) {
          if (requiredByValidate_.isEmpty()) {
            requiredByValidate_ = other.requiredByValidate_;
            bitField0_ = (bitField0_ & ~0x00000040);
          } else {
            ensureRequiredByValidateIsMutable();
            requiredByValidate_.addAll(other.requiredByValidate_);
          }
          onChanged();
        }
      } else {
        if (!other.requiredByValidate_.isEmpty()) {
          if (requiredByValidateBuilder_.isEmpty()) {
            requiredByValidateBuilder_.dispose();
            requiredByValidateBuilder_ = null;
            requiredByValidate_ = other.requiredByValidate_;
            bitField0_ = (bitField0_ & ~0x00000040);
            requiredByValidateBuilder_ = 
              com.dimajix.shaded.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getRequiredByValidateFieldBuilder() : null;
          } else {
            requiredByValidateBuilder_.addAllMessages(other.requiredByValidate_);
          }
        }
      }
      if (requiredByCreateBuilder_ == null) {
        if (!other.requiredByCreate_.isEmpty()) {
          if (requiredByCreate_.isEmpty()) {
            requiredByCreate_ = other.requiredByCreate_;
            bitField0_ = (bitField0_ & ~0x00000080);
          } else {
            ensureRequiredByCreateIsMutable();
            requiredByCreate_.addAll(other.requiredByCreate_);
          }
          onChanged();
        }
      } else {
        if (!other.requiredByCreate_.isEmpty()) {
          if (requiredByCreateBuilder_.isEmpty()) {
            requiredByCreateBuilder_.dispose();
            requiredByCreateBuilder_ = null;
            requiredByCreate_ = other.requiredByCreate_;
            bitField0_ = (bitField0_ & ~0x00000080);
            requiredByCreateBuilder_ = 
              com.dimajix.shaded.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getRequiredByCreateFieldBuilder() : null;
          } else {
            requiredByCreateBuilder_.addAllMessages(other.requiredByCreate_);
          }
        }
      }
      if (requiredByBuildBuilder_ == null) {
        if (!other.requiredByBuild_.isEmpty()) {
          if (requiredByBuild_.isEmpty()) {
            requiredByBuild_ = other.requiredByBuild_;
            bitField0_ = (bitField0_ & ~0x00000100);
          } else {
            ensureRequiredByBuildIsMutable();
            requiredByBuild_.addAll(other.requiredByBuild_);
          }
          onChanged();
        }
      } else {
        if (!other.requiredByBuild_.isEmpty()) {
          if (requiredByBuildBuilder_.isEmpty()) {
            requiredByBuildBuilder_.dispose();
            requiredByBuildBuilder_ = null;
            requiredByBuild_ = other.requiredByBuild_;
            bitField0_ = (bitField0_ & ~0x00000100);
            requiredByBuildBuilder_ = 
              com.dimajix.shaded.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getRequiredByBuildFieldBuilder() : null;
          } else {
            requiredByBuildBuilder_.addAllMessages(other.requiredByBuild_);
          }
        }
      }
      if (requiredByVerifyBuilder_ == null) {
        if (!other.requiredByVerify_.isEmpty()) {
          if (requiredByVerify_.isEmpty()) {
            requiredByVerify_ = other.requiredByVerify_;
            bitField0_ = (bitField0_ & ~0x00000200);
          } else {
            ensureRequiredByVerifyIsMutable();
            requiredByVerify_.addAll(other.requiredByVerify_);
          }
          onChanged();
        }
      } else {
        if (!other.requiredByVerify_.isEmpty()) {
          if (requiredByVerifyBuilder_.isEmpty()) {
            requiredByVerifyBuilder_.dispose();
            requiredByVerifyBuilder_ = null;
            requiredByVerify_ = other.requiredByVerify_;
            bitField0_ = (bitField0_ & ~0x00000200);
            requiredByVerifyBuilder_ = 
              com.dimajix.shaded.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getRequiredByVerifyFieldBuilder() : null;
          } else {
            requiredByVerifyBuilder_.addAllMessages(other.requiredByVerify_);
          }
        }
      }
      if (requiredByTruncateBuilder_ == null) {
        if (!other.requiredByTruncate_.isEmpty()) {
          if (requiredByTruncate_.isEmpty()) {
            requiredByTruncate_ = other.requiredByTruncate_;
            bitField0_ = (bitField0_ & ~0x00000400);
          } else {
            ensureRequiredByTruncateIsMutable();
            requiredByTruncate_.addAll(other.requiredByTruncate_);
          }
          onChanged();
        }
      } else {
        if (!other.requiredByTruncate_.isEmpty()) {
          if (requiredByTruncateBuilder_.isEmpty()) {
            requiredByTruncateBuilder_.dispose();
            requiredByTruncateBuilder_ = null;
            requiredByTruncate_ = other.requiredByTruncate_;
            bitField0_ = (bitField0_ & ~0x00000400);
            requiredByTruncateBuilder_ = 
              com.dimajix.shaded.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getRequiredByTruncateFieldBuilder() : null;
          } else {
            requiredByTruncateBuilder_.addAllMessages(other.requiredByTruncate_);
          }
        }
      }
      if (requiredByDestroyBuilder_ == null) {
        if (!other.requiredByDestroy_.isEmpty()) {
          if (requiredByDestroy_.isEmpty()) {
            requiredByDestroy_ = other.requiredByDestroy_;
            bitField0_ = (bitField0_ & ~0x00000800);
          } else {
            ensureRequiredByDestroyIsMutable();
            requiredByDestroy_.addAll(other.requiredByDestroy_);
          }
          onChanged();
        }
      } else {
        if (!other.requiredByDestroy_.isEmpty()) {
          if (requiredByDestroyBuilder_.isEmpty()) {
            requiredByDestroyBuilder_.dispose();
            requiredByDestroyBuilder_ = null;
            requiredByDestroy_ = other.requiredByDestroy_;
            bitField0_ = (bitField0_ & ~0x00000800);
            requiredByDestroyBuilder_ = 
              com.dimajix.shaded.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getRequiredByDestroyFieldBuilder() : null;
          } else {
            requiredByDestroyBuilder_.addAllMessages(other.requiredByDestroy_);
          }
        }
      }
      if (providedByValidateBuilder_ == null) {
        if (!other.providedByValidate_.isEmpty()) {
          if (providedByValidate_.isEmpty()) {
            providedByValidate_ = other.providedByValidate_;
            bitField0_ = (bitField0_ & ~0x00001000);
          } else {
            ensureProvidedByValidateIsMutable();
            providedByValidate_.addAll(other.providedByValidate_);
          }
          onChanged();
        }
      } else {
        if (!other.providedByValidate_.isEmpty()) {
          if (providedByValidateBuilder_.isEmpty()) {
            providedByValidateBuilder_.dispose();
            providedByValidateBuilder_ = null;
            providedByValidate_ = other.providedByValidate_;
            bitField0_ = (bitField0_ & ~0x00001000);
            providedByValidateBuilder_ = 
              com.dimajix.shaded.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getProvidedByValidateFieldBuilder() : null;
          } else {
            providedByValidateBuilder_.addAllMessages(other.providedByValidate_);
          }
        }
      }
      if (providedByCreateBuilder_ == null) {
        if (!other.providedByCreate_.isEmpty()) {
          if (providedByCreate_.isEmpty()) {
            providedByCreate_ = other.providedByCreate_;
            bitField0_ = (bitField0_ & ~0x00002000);
          } else {
            ensureProvidedByCreateIsMutable();
            providedByCreate_.addAll(other.providedByCreate_);
          }
          onChanged();
        }
      } else {
        if (!other.providedByCreate_.isEmpty()) {
          if (providedByCreateBuilder_.isEmpty()) {
            providedByCreateBuilder_.dispose();
            providedByCreateBuilder_ = null;
            providedByCreate_ = other.providedByCreate_;
            bitField0_ = (bitField0_ & ~0x00002000);
            providedByCreateBuilder_ = 
              com.dimajix.shaded.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getProvidedByCreateFieldBuilder() : null;
          } else {
            providedByCreateBuilder_.addAllMessages(other.providedByCreate_);
          }
        }
      }
      if (providedByBuildBuilder_ == null) {
        if (!other.providedByBuild_.isEmpty()) {
          if (providedByBuild_.isEmpty()) {
            providedByBuild_ = other.providedByBuild_;
            bitField0_ = (bitField0_ & ~0x00004000);
          } else {
            ensureProvidedByBuildIsMutable();
            providedByBuild_.addAll(other.providedByBuild_);
          }
          onChanged();
        }
      } else {
        if (!other.providedByBuild_.isEmpty()) {
          if (providedByBuildBuilder_.isEmpty()) {
            providedByBuildBuilder_.dispose();
            providedByBuildBuilder_ = null;
            providedByBuild_ = other.providedByBuild_;
            bitField0_ = (bitField0_ & ~0x00004000);
            providedByBuildBuilder_ = 
              com.dimajix.shaded.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getProvidedByBuildFieldBuilder() : null;
          } else {
            providedByBuildBuilder_.addAllMessages(other.providedByBuild_);
          }
        }
      }
      if (providedByVerifyBuilder_ == null) {
        if (!other.providedByVerify_.isEmpty()) {
          if (providedByVerify_.isEmpty()) {
            providedByVerify_ = other.providedByVerify_;
            bitField0_ = (bitField0_ & ~0x00008000);
          } else {
            ensureProvidedByVerifyIsMutable();
            providedByVerify_.addAll(other.providedByVerify_);
          }
          onChanged();
        }
      } else {
        if (!other.providedByVerify_.isEmpty()) {
          if (providedByVerifyBuilder_.isEmpty()) {
            providedByVerifyBuilder_.dispose();
            providedByVerifyBuilder_ = null;
            providedByVerify_ = other.providedByVerify_;
            bitField0_ = (bitField0_ & ~0x00008000);
            providedByVerifyBuilder_ = 
              com.dimajix.shaded.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getProvidedByVerifyFieldBuilder() : null;
          } else {
            providedByVerifyBuilder_.addAllMessages(other.providedByVerify_);
          }
        }
      }
      if (providedByTruncateBuilder_ == null) {
        if (!other.providedByTruncate_.isEmpty()) {
          if (providedByTruncate_.isEmpty()) {
            providedByTruncate_ = other.providedByTruncate_;
            bitField0_ = (bitField0_ & ~0x00010000);
          } else {
            ensureProvidedByTruncateIsMutable();
            providedByTruncate_.addAll(other.providedByTruncate_);
          }
          onChanged();
        }
      } else {
        if (!other.providedByTruncate_.isEmpty()) {
          if (providedByTruncateBuilder_.isEmpty()) {
            providedByTruncateBuilder_.dispose();
            providedByTruncateBuilder_ = null;
            providedByTruncate_ = other.providedByTruncate_;
            bitField0_ = (bitField0_ & ~0x00010000);
            providedByTruncateBuilder_ = 
              com.dimajix.shaded.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getProvidedByTruncateFieldBuilder() : null;
          } else {
            providedByTruncateBuilder_.addAllMessages(other.providedByTruncate_);
          }
        }
      }
      if (providedByDestroyBuilder_ == null) {
        if (!other.providedByDestroy_.isEmpty()) {
          if (providedByDestroy_.isEmpty()) {
            providedByDestroy_ = other.providedByDestroy_;
            bitField0_ = (bitField0_ & ~0x00020000);
          } else {
            ensureProvidedByDestroyIsMutable();
            providedByDestroy_.addAll(other.providedByDestroy_);
          }
          onChanged();
        }
      } else {
        if (!other.providedByDestroy_.isEmpty()) {
          if (providedByDestroyBuilder_.isEmpty()) {
            providedByDestroyBuilder_.dispose();
            providedByDestroyBuilder_ = null;
            providedByDestroy_ = other.providedByDestroy_;
            bitField0_ = (bitField0_ & ~0x00020000);
            providedByDestroyBuilder_ = 
              com.dimajix.shaded.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getProvidedByDestroyFieldBuilder() : null;
          } else {
            providedByDestroyBuilder_.addAllMessages(other.providedByDestroy_);
          }
        }
      }
      this.mergeUnknownFields(other.getUnknownFields());
      onChanged();
      return this;
    }

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

    @java.lang.Override
    public Builder mergeFrom(
        com.dimajix.shaded.protobuf.CodedInputStream input,
        com.dimajix.shaded.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              project_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000001;
              break;
            } // case 10
            case 18: {
              name_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000002;
              break;
            } // case 18
            case 26: {
              kind_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000004;
              break;
            } // case 26
            case 32: {
              int tmpRaw = input.readEnum();
              ensurePhasesIsMutable();
              phases_.add(tmpRaw);
              break;
            } // case 32
            case 34: {
              int length = input.readRawVarint32();
              int oldLimit = input.pushLimit(length);
              while(input.getBytesUntilLimit() > 0) {
                int tmpRaw = input.readEnum();
                ensurePhasesIsMutable();
                phases_.add(tmpRaw);
              }
              input.popLimit(oldLimit);
              break;
            } // case 34
            case 42: {
              com.dimajix.flowman.kernel.proto.TargetIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.TargetIdentifier.parser(),
                      extensionRegistry);
              if (beforeBuilder_ == null) {
                ensureBeforeIsMutable();
                before_.add(m);
              } else {
                beforeBuilder_.addMessage(m);
              }
              break;
            } // case 42
            case 50: {
              com.dimajix.flowman.kernel.proto.TargetIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.TargetIdentifier.parser(),
                      extensionRegistry);
              if (afterBuilder_ == null) {
                ensureAfterIsMutable();
                after_.add(m);
              } else {
                afterBuilder_.addMessage(m);
              }
              break;
            } // case 50
            case 74: {
              com.dimajix.flowman.kernel.proto.ResourceIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.ResourceIdentifier.parser(),
                      extensionRegistry);
              if (requiredByValidateBuilder_ == null) {
                ensureRequiredByValidateIsMutable();
                requiredByValidate_.add(m);
              } else {
                requiredByValidateBuilder_.addMessage(m);
              }
              break;
            } // case 74
            case 82: {
              com.dimajix.flowman.kernel.proto.ResourceIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.ResourceIdentifier.parser(),
                      extensionRegistry);
              if (requiredByCreateBuilder_ == null) {
                ensureRequiredByCreateIsMutable();
                requiredByCreate_.add(m);
              } else {
                requiredByCreateBuilder_.addMessage(m);
              }
              break;
            } // case 82
            case 90: {
              com.dimajix.flowman.kernel.proto.ResourceIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.ResourceIdentifier.parser(),
                      extensionRegistry);
              if (requiredByBuildBuilder_ == null) {
                ensureRequiredByBuildIsMutable();
                requiredByBuild_.add(m);
              } else {
                requiredByBuildBuilder_.addMessage(m);
              }
              break;
            } // case 90
            case 98: {
              com.dimajix.flowman.kernel.proto.ResourceIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.ResourceIdentifier.parser(),
                      extensionRegistry);
              if (requiredByVerifyBuilder_ == null) {
                ensureRequiredByVerifyIsMutable();
                requiredByVerify_.add(m);
              } else {
                requiredByVerifyBuilder_.addMessage(m);
              }
              break;
            } // case 98
            case 106: {
              com.dimajix.flowman.kernel.proto.ResourceIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.ResourceIdentifier.parser(),
                      extensionRegistry);
              if (requiredByTruncateBuilder_ == null) {
                ensureRequiredByTruncateIsMutable();
                requiredByTruncate_.add(m);
              } else {
                requiredByTruncateBuilder_.addMessage(m);
              }
              break;
            } // case 106
            case 114: {
              com.dimajix.flowman.kernel.proto.ResourceIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.ResourceIdentifier.parser(),
                      extensionRegistry);
              if (requiredByDestroyBuilder_ == null) {
                ensureRequiredByDestroyIsMutable();
                requiredByDestroy_.add(m);
              } else {
                requiredByDestroyBuilder_.addMessage(m);
              }
              break;
            } // case 114
            case 122: {
              com.dimajix.flowman.kernel.proto.ResourceIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.ResourceIdentifier.parser(),
                      extensionRegistry);
              if (providedByValidateBuilder_ == null) {
                ensureProvidedByValidateIsMutable();
                providedByValidate_.add(m);
              } else {
                providedByValidateBuilder_.addMessage(m);
              }
              break;
            } // case 122
            case 130: {
              com.dimajix.flowman.kernel.proto.ResourceIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.ResourceIdentifier.parser(),
                      extensionRegistry);
              if (providedByCreateBuilder_ == null) {
                ensureProvidedByCreateIsMutable();
                providedByCreate_.add(m);
              } else {
                providedByCreateBuilder_.addMessage(m);
              }
              break;
            } // case 130
            case 138: {
              com.dimajix.flowman.kernel.proto.ResourceIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.ResourceIdentifier.parser(),
                      extensionRegistry);
              if (providedByBuildBuilder_ == null) {
                ensureProvidedByBuildIsMutable();
                providedByBuild_.add(m);
              } else {
                providedByBuildBuilder_.addMessage(m);
              }
              break;
            } // case 138
            case 146: {
              com.dimajix.flowman.kernel.proto.ResourceIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.ResourceIdentifier.parser(),
                      extensionRegistry);
              if (providedByVerifyBuilder_ == null) {
                ensureProvidedByVerifyIsMutable();
                providedByVerify_.add(m);
              } else {
                providedByVerifyBuilder_.addMessage(m);
              }
              break;
            } // case 146
            case 154: {
              com.dimajix.flowman.kernel.proto.ResourceIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.ResourceIdentifier.parser(),
                      extensionRegistry);
              if (providedByTruncateBuilder_ == null) {
                ensureProvidedByTruncateIsMutable();
                providedByTruncate_.add(m);
              } else {
                providedByTruncateBuilder_.addMessage(m);
              }
              break;
            } // case 154
            case 162: {
              com.dimajix.flowman.kernel.proto.ResourceIdentifier m =
                  input.readMessage(
                      com.dimajix.flowman.kernel.proto.ResourceIdentifier.parser(),
                      extensionRegistry);
              if (providedByDestroyBuilder_ == null) {
                ensureProvidedByDestroyIsMutable();
                providedByDestroy_.add(m);
              } else {
                providedByDestroyBuilder_.addMessage(m);
              }
              break;
            } // case 162
            default: {
              if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                done = true; // was an endgroup tag
              }
              break;
            } // default:
          } // switch (tag)
        } // while (!done)
      } catch (com.dimajix.shaded.protobuf.InvalidProtocolBufferException e) {
        throw e.unwrapIOException();
      } finally {
        onChanged();
      } // finally
      return this;
    }
    private int bitField0_;

    private java.lang.Object project_ = "";
    /**
     * optional string project = 1;
     * @return Whether the project field is set.
     */
    public boolean hasProject() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional string project = 1;
     * @return The project.
     */
    public java.lang.String getProject() {
      java.lang.Object ref = project_;
      if (!(ref instanceof java.lang.String)) {
        com.dimajix.shaded.protobuf.ByteString bs =
            (com.dimajix.shaded.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        project_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string project = 1;
     * @return The bytes for project.
     */
    public com.dimajix.shaded.protobuf.ByteString
        getProjectBytes() {
      java.lang.Object ref = project_;
      if (ref instanceof String) {
        com.dimajix.shaded.protobuf.ByteString b = 
            com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        project_ = b;
        return b;
      } else {
        return (com.dimajix.shaded.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string project = 1;
     * @param value The project to set.
     * @return This builder for chaining.
     */
    public Builder setProject(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      project_ = value;
      bitField0_ |= 0x00000001;
      onChanged();
      return this;
    }
    /**
     * optional string project = 1;
     * @return This builder for chaining.
     */
    public Builder clearProject() {
      project_ = getDefaultInstance().getProject();
      bitField0_ = (bitField0_ & ~0x00000001);
      onChanged();
      return this;
    }
    /**
     * optional string project = 1;
     * @param value The bytes for project to set.
     * @return This builder for chaining.
     */
    public Builder setProjectBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      project_ = value;
      bitField0_ |= 0x00000001;
      onChanged();
      return this;
    }

    private java.lang.Object name_ = "";
    /**
     * string name = 2;
     * @return The name.
     */
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (!(ref instanceof java.lang.String)) {
        com.dimajix.shaded.protobuf.ByteString bs =
            (com.dimajix.shaded.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        name_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * string name = 2;
     * @return The bytes for name.
     */
    public com.dimajix.shaded.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof String) {
        com.dimajix.shaded.protobuf.ByteString b = 
            com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.dimajix.shaded.protobuf.ByteString) ref;
      }
    }
    /**
     * string name = 2;
     * @param value The name to set.
     * @return This builder for chaining.
     */
    public Builder setName(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      name_ = value;
      bitField0_ |= 0x00000002;
      onChanged();
      return this;
    }
    /**
     * string name = 2;
     * @return This builder for chaining.
     */
    public Builder clearName() {
      name_ = getDefaultInstance().getName();
      bitField0_ = (bitField0_ & ~0x00000002);
      onChanged();
      return this;
    }
    /**
     * string name = 2;
     * @param value The bytes for name to set.
     * @return This builder for chaining.
     */
    public Builder setNameBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      name_ = value;
      bitField0_ |= 0x00000002;
      onChanged();
      return this;
    }

    private java.lang.Object kind_ = "";
    /**
     * string kind = 3;
     * @return The kind.
     */
    public java.lang.String getKind() {
      java.lang.Object ref = kind_;
      if (!(ref instanceof java.lang.String)) {
        com.dimajix.shaded.protobuf.ByteString bs =
            (com.dimajix.shaded.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        kind_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * string kind = 3;
     * @return The bytes for kind.
     */
    public com.dimajix.shaded.protobuf.ByteString
        getKindBytes() {
      java.lang.Object ref = kind_;
      if (ref instanceof String) {
        com.dimajix.shaded.protobuf.ByteString b = 
            com.dimajix.shaded.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        kind_ = b;
        return b;
      } else {
        return (com.dimajix.shaded.protobuf.ByteString) ref;
      }
    }
    /**
     * string kind = 3;
     * @param value The kind to set.
     * @return This builder for chaining.
     */
    public Builder setKind(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      kind_ = value;
      bitField0_ |= 0x00000004;
      onChanged();
      return this;
    }
    /**
     * string kind = 3;
     * @return This builder for chaining.
     */
    public Builder clearKind() {
      kind_ = getDefaultInstance().getKind();
      bitField0_ = (bitField0_ & ~0x00000004);
      onChanged();
      return this;
    }
    /**
     * string kind = 3;
     * @param value The bytes for kind to set.
     * @return This builder for chaining.
     */
    public Builder setKindBytes(
        com.dimajix.shaded.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      kind_ = value;
      bitField0_ |= 0x00000004;
      onChanged();
      return this;
    }

    private java.util.List phases_ =
      java.util.Collections.emptyList();
    private void ensurePhasesIsMutable() {
      if (!((bitField0_ & 0x00000008) != 0)) {
        phases_ = new java.util.ArrayList(phases_);
        bitField0_ |= 0x00000008;
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ExecutionPhase phases = 4;
     * @return A list containing the phases.
     */
    public java.util.List getPhasesList() {
      return new com.google.protobuf.Internal.ListAdapter<
          java.lang.Integer, com.dimajix.flowman.kernel.proto.ExecutionPhase>(phases_, phases_converter_);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ExecutionPhase phases = 4;
     * @return The count of phases.
     */
    public int getPhasesCount() {
      return phases_.size();
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ExecutionPhase phases = 4;
     * @param index The index of the element to return.
     * @return The phases at the given index.
     */
    public com.dimajix.flowman.kernel.proto.ExecutionPhase getPhases(int index) {
      return phases_converter_.convert(phases_.get(index));
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ExecutionPhase phases = 4;
     * @param index The index to set the value at.
     * @param value The phases to set.
     * @return This builder for chaining.
     */
    public Builder setPhases(
        int index, com.dimajix.flowman.kernel.proto.ExecutionPhase value) {
      if (value == null) {
        throw new NullPointerException();
      }
      ensurePhasesIsMutable();
      phases_.set(index, value.getNumber());
      onChanged();
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ExecutionPhase phases = 4;
     * @param value The phases to add.
     * @return This builder for chaining.
     */
    public Builder addPhases(com.dimajix.flowman.kernel.proto.ExecutionPhase value) {
      if (value == null) {
        throw new NullPointerException();
      }
      ensurePhasesIsMutable();
      phases_.add(value.getNumber());
      onChanged();
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ExecutionPhase phases = 4;
     * @param values The phases to add.
     * @return This builder for chaining.
     */
    public Builder addAllPhases(
        java.lang.Iterable values) {
      ensurePhasesIsMutable();
      for (com.dimajix.flowman.kernel.proto.ExecutionPhase value : values) {
        phases_.add(value.getNumber());
      }
      onChanged();
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ExecutionPhase phases = 4;
     * @return This builder for chaining.
     */
    public Builder clearPhases() {
      phases_ = java.util.Collections.emptyList();
      bitField0_ = (bitField0_ & ~0x00000008);
      onChanged();
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ExecutionPhase phases = 4;
     * @return A list containing the enum numeric values on the wire for phases.
     */
    public java.util.List
    getPhasesValueList() {
      return java.util.Collections.unmodifiableList(phases_);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ExecutionPhase phases = 4;
     * @param index The index of the value to return.
     * @return The enum numeric value on the wire of phases at the given index.
     */
    public int getPhasesValue(int index) {
      return phases_.get(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ExecutionPhase phases = 4;
     * @param index The index to set the value at.
     * @param value The enum numeric value on the wire for phases to set.
     * @return This builder for chaining.
     */
    public Builder setPhasesValue(
        int index, int value) {
      ensurePhasesIsMutable();
      phases_.set(index, value);
      onChanged();
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ExecutionPhase phases = 4;
     * @param value The enum numeric value on the wire for phases to add.
     * @return This builder for chaining.
     */
    public Builder addPhasesValue(int value) {
      ensurePhasesIsMutable();
      phases_.add(value);
      onChanged();
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ExecutionPhase phases = 4;
     * @param values The enum numeric values on the wire for phases to add.
     * @return This builder for chaining.
     */
    public Builder addAllPhasesValue(
        java.lang.Iterable values) {
      ensurePhasesIsMutable();
      for (int value : values) {
        phases_.add(value);
      }
      onChanged();
      return this;
    }

    private java.util.List before_ =
      java.util.Collections.emptyList();
    private void ensureBeforeIsMutable() {
      if (!((bitField0_ & 0x00000010) != 0)) {
        before_ = new java.util.ArrayList(before_);
        bitField0_ |= 0x00000010;
       }
    }

    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.TargetIdentifier, com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder, com.dimajix.flowman.kernel.proto.TargetIdentifierOrBuilder> beforeBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
     */
    public java.util.List getBeforeList() {
      if (beforeBuilder_ == null) {
        return java.util.Collections.unmodifiableList(before_);
      } else {
        return beforeBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
     */
    public int getBeforeCount() {
      if (beforeBuilder_ == null) {
        return before_.size();
      } else {
        return beforeBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
     */
    public com.dimajix.flowman.kernel.proto.TargetIdentifier getBefore(int index) {
      if (beforeBuilder_ == null) {
        return before_.get(index);
      } else {
        return beforeBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
     */
    public Builder setBefore(
        int index, com.dimajix.flowman.kernel.proto.TargetIdentifier value) {
      if (beforeBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureBeforeIsMutable();
        before_.set(index, value);
        onChanged();
      } else {
        beforeBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
     */
    public Builder setBefore(
        int index, com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder builderForValue) {
      if (beforeBuilder_ == null) {
        ensureBeforeIsMutable();
        before_.set(index, builderForValue.build());
        onChanged();
      } else {
        beforeBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
     */
    public Builder addBefore(com.dimajix.flowman.kernel.proto.TargetIdentifier value) {
      if (beforeBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureBeforeIsMutable();
        before_.add(value);
        onChanged();
      } else {
        beforeBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
     */
    public Builder addBefore(
        int index, com.dimajix.flowman.kernel.proto.TargetIdentifier value) {
      if (beforeBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureBeforeIsMutable();
        before_.add(index, value);
        onChanged();
      } else {
        beforeBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
     */
    public Builder addBefore(
        com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder builderForValue) {
      if (beforeBuilder_ == null) {
        ensureBeforeIsMutable();
        before_.add(builderForValue.build());
        onChanged();
      } else {
        beforeBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
     */
    public Builder addBefore(
        int index, com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder builderForValue) {
      if (beforeBuilder_ == null) {
        ensureBeforeIsMutable();
        before_.add(index, builderForValue.build());
        onChanged();
      } else {
        beforeBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
     */
    public Builder addAllBefore(
        java.lang.Iterable values) {
      if (beforeBuilder_ == null) {
        ensureBeforeIsMutable();
        com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
            values, before_);
        onChanged();
      } else {
        beforeBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
     */
    public Builder clearBefore() {
      if (beforeBuilder_ == null) {
        before_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
      } else {
        beforeBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
     */
    public Builder removeBefore(int index) {
      if (beforeBuilder_ == null) {
        ensureBeforeIsMutable();
        before_.remove(index);
        onChanged();
      } else {
        beforeBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
     */
    public com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder getBeforeBuilder(
        int index) {
      return getBeforeFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
     */
    public com.dimajix.flowman.kernel.proto.TargetIdentifierOrBuilder getBeforeOrBuilder(
        int index) {
      if (beforeBuilder_ == null) {
        return before_.get(index);  } else {
        return beforeBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
     */
    public java.util.List 
         getBeforeOrBuilderList() {
      if (beforeBuilder_ != null) {
        return beforeBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(before_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
     */
    public com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder addBeforeBuilder() {
      return getBeforeFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.TargetIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
     */
    public com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder addBeforeBuilder(
        int index) {
      return getBeforeFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.TargetIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier before = 5;
     */
    public java.util.List 
         getBeforeBuilderList() {
      return getBeforeFieldBuilder().getBuilderList();
    }
    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.TargetIdentifier, com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder, com.dimajix.flowman.kernel.proto.TargetIdentifierOrBuilder> 
        getBeforeFieldBuilder() {
      if (beforeBuilder_ == null) {
        beforeBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.TargetIdentifier, com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder, com.dimajix.flowman.kernel.proto.TargetIdentifierOrBuilder>(
                before_,
                ((bitField0_ & 0x00000010) != 0),
                getParentForChildren(),
                isClean());
        before_ = null;
      }
      return beforeBuilder_;
    }

    private java.util.List after_ =
      java.util.Collections.emptyList();
    private void ensureAfterIsMutable() {
      if (!((bitField0_ & 0x00000020) != 0)) {
        after_ = new java.util.ArrayList(after_);
        bitField0_ |= 0x00000020;
       }
    }

    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.TargetIdentifier, com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder, com.dimajix.flowman.kernel.proto.TargetIdentifierOrBuilder> afterBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
     */
    public java.util.List getAfterList() {
      if (afterBuilder_ == null) {
        return java.util.Collections.unmodifiableList(after_);
      } else {
        return afterBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
     */
    public int getAfterCount() {
      if (afterBuilder_ == null) {
        return after_.size();
      } else {
        return afterBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
     */
    public com.dimajix.flowman.kernel.proto.TargetIdentifier getAfter(int index) {
      if (afterBuilder_ == null) {
        return after_.get(index);
      } else {
        return afterBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
     */
    public Builder setAfter(
        int index, com.dimajix.flowman.kernel.proto.TargetIdentifier value) {
      if (afterBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureAfterIsMutable();
        after_.set(index, value);
        onChanged();
      } else {
        afterBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
     */
    public Builder setAfter(
        int index, com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder builderForValue) {
      if (afterBuilder_ == null) {
        ensureAfterIsMutable();
        after_.set(index, builderForValue.build());
        onChanged();
      } else {
        afterBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
     */
    public Builder addAfter(com.dimajix.flowman.kernel.proto.TargetIdentifier value) {
      if (afterBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureAfterIsMutable();
        after_.add(value);
        onChanged();
      } else {
        afterBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
     */
    public Builder addAfter(
        int index, com.dimajix.flowman.kernel.proto.TargetIdentifier value) {
      if (afterBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureAfterIsMutable();
        after_.add(index, value);
        onChanged();
      } else {
        afterBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
     */
    public Builder addAfter(
        com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder builderForValue) {
      if (afterBuilder_ == null) {
        ensureAfterIsMutable();
        after_.add(builderForValue.build());
        onChanged();
      } else {
        afterBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
     */
    public Builder addAfter(
        int index, com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder builderForValue) {
      if (afterBuilder_ == null) {
        ensureAfterIsMutable();
        after_.add(index, builderForValue.build());
        onChanged();
      } else {
        afterBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
     */
    public Builder addAllAfter(
        java.lang.Iterable values) {
      if (afterBuilder_ == null) {
        ensureAfterIsMutable();
        com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
            values, after_);
        onChanged();
      } else {
        afterBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
     */
    public Builder clearAfter() {
      if (afterBuilder_ == null) {
        after_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000020);
        onChanged();
      } else {
        afterBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
     */
    public Builder removeAfter(int index) {
      if (afterBuilder_ == null) {
        ensureAfterIsMutable();
        after_.remove(index);
        onChanged();
      } else {
        afterBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
     */
    public com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder getAfterBuilder(
        int index) {
      return getAfterFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
     */
    public com.dimajix.flowman.kernel.proto.TargetIdentifierOrBuilder getAfterOrBuilder(
        int index) {
      if (afterBuilder_ == null) {
        return after_.get(index);  } else {
        return afterBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
     */
    public java.util.List 
         getAfterOrBuilderList() {
      if (afterBuilder_ != null) {
        return afterBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(after_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
     */
    public com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder addAfterBuilder() {
      return getAfterFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.TargetIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
     */
    public com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder addAfterBuilder(
        int index) {
      return getAfterFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.TargetIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.TargetIdentifier after = 6;
     */
    public java.util.List 
         getAfterBuilderList() {
      return getAfterFieldBuilder().getBuilderList();
    }
    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.TargetIdentifier, com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder, com.dimajix.flowman.kernel.proto.TargetIdentifierOrBuilder> 
        getAfterFieldBuilder() {
      if (afterBuilder_ == null) {
        afterBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.TargetIdentifier, com.dimajix.flowman.kernel.proto.TargetIdentifier.Builder, com.dimajix.flowman.kernel.proto.TargetIdentifierOrBuilder>(
                after_,
                ((bitField0_ & 0x00000020) != 0),
                getParentForChildren(),
                isClean());
        after_ = null;
      }
      return afterBuilder_;
    }

    private java.util.List requiredByValidate_ =
      java.util.Collections.emptyList();
    private void ensureRequiredByValidateIsMutable() {
      if (!((bitField0_ & 0x00000040) != 0)) {
        requiredByValidate_ = new java.util.ArrayList(requiredByValidate_);
        bitField0_ |= 0x00000040;
       }
    }

    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> requiredByValidateBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
     */
    public java.util.List getRequiredByValidateList() {
      if (requiredByValidateBuilder_ == null) {
        return java.util.Collections.unmodifiableList(requiredByValidate_);
      } else {
        return requiredByValidateBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
     */
    public int getRequiredByValidateCount() {
      if (requiredByValidateBuilder_ == null) {
        return requiredByValidate_.size();
      } else {
        return requiredByValidateBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier getRequiredByValidate(int index) {
      if (requiredByValidateBuilder_ == null) {
        return requiredByValidate_.get(index);
      } else {
        return requiredByValidateBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
     */
    public Builder setRequiredByValidate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByValidateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByValidateIsMutable();
        requiredByValidate_.set(index, value);
        onChanged();
      } else {
        requiredByValidateBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
     */
    public Builder setRequiredByValidate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByValidateBuilder_ == null) {
        ensureRequiredByValidateIsMutable();
        requiredByValidate_.set(index, builderForValue.build());
        onChanged();
      } else {
        requiredByValidateBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
     */
    public Builder addRequiredByValidate(com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByValidateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByValidateIsMutable();
        requiredByValidate_.add(value);
        onChanged();
      } else {
        requiredByValidateBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
     */
    public Builder addRequiredByValidate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByValidateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByValidateIsMutable();
        requiredByValidate_.add(index, value);
        onChanged();
      } else {
        requiredByValidateBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
     */
    public Builder addRequiredByValidate(
        com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByValidateBuilder_ == null) {
        ensureRequiredByValidateIsMutable();
        requiredByValidate_.add(builderForValue.build());
        onChanged();
      } else {
        requiredByValidateBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
     */
    public Builder addRequiredByValidate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByValidateBuilder_ == null) {
        ensureRequiredByValidateIsMutable();
        requiredByValidate_.add(index, builderForValue.build());
        onChanged();
      } else {
        requiredByValidateBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
     */
    public Builder addAllRequiredByValidate(
        java.lang.Iterable values) {
      if (requiredByValidateBuilder_ == null) {
        ensureRequiredByValidateIsMutable();
        com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
            values, requiredByValidate_);
        onChanged();
      } else {
        requiredByValidateBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
     */
    public Builder clearRequiredByValidate() {
      if (requiredByValidateBuilder_ == null) {
        requiredByValidate_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000040);
        onChanged();
      } else {
        requiredByValidateBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
     */
    public Builder removeRequiredByValidate(int index) {
      if (requiredByValidateBuilder_ == null) {
        ensureRequiredByValidateIsMutable();
        requiredByValidate_.remove(index);
        onChanged();
      } else {
        requiredByValidateBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder getRequiredByValidateBuilder(
        int index) {
      return getRequiredByValidateFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getRequiredByValidateOrBuilder(
        int index) {
      if (requiredByValidateBuilder_ == null) {
        return requiredByValidate_.get(index);  } else {
        return requiredByValidateBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
     */
    public java.util.List 
         getRequiredByValidateOrBuilderList() {
      if (requiredByValidateBuilder_ != null) {
        return requiredByValidateBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(requiredByValidate_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addRequiredByValidateBuilder() {
      return getRequiredByValidateFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addRequiredByValidateBuilder(
        int index) {
      return getRequiredByValidateFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByValidate = 9;
     */
    public java.util.List 
         getRequiredByValidateBuilderList() {
      return getRequiredByValidateFieldBuilder().getBuilderList();
    }
    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> 
        getRequiredByValidateFieldBuilder() {
      if (requiredByValidateBuilder_ == null) {
        requiredByValidateBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder>(
                requiredByValidate_,
                ((bitField0_ & 0x00000040) != 0),
                getParentForChildren(),
                isClean());
        requiredByValidate_ = null;
      }
      return requiredByValidateBuilder_;
    }

    private java.util.List requiredByCreate_ =
      java.util.Collections.emptyList();
    private void ensureRequiredByCreateIsMutable() {
      if (!((bitField0_ & 0x00000080) != 0)) {
        requiredByCreate_ = new java.util.ArrayList(requiredByCreate_);
        bitField0_ |= 0x00000080;
       }
    }

    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> requiredByCreateBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
     */
    public java.util.List getRequiredByCreateList() {
      if (requiredByCreateBuilder_ == null) {
        return java.util.Collections.unmodifiableList(requiredByCreate_);
      } else {
        return requiredByCreateBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
     */
    public int getRequiredByCreateCount() {
      if (requiredByCreateBuilder_ == null) {
        return requiredByCreate_.size();
      } else {
        return requiredByCreateBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier getRequiredByCreate(int index) {
      if (requiredByCreateBuilder_ == null) {
        return requiredByCreate_.get(index);
      } else {
        return requiredByCreateBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
     */
    public Builder setRequiredByCreate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByCreateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByCreateIsMutable();
        requiredByCreate_.set(index, value);
        onChanged();
      } else {
        requiredByCreateBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
     */
    public Builder setRequiredByCreate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByCreateBuilder_ == null) {
        ensureRequiredByCreateIsMutable();
        requiredByCreate_.set(index, builderForValue.build());
        onChanged();
      } else {
        requiredByCreateBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
     */
    public Builder addRequiredByCreate(com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByCreateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByCreateIsMutable();
        requiredByCreate_.add(value);
        onChanged();
      } else {
        requiredByCreateBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
     */
    public Builder addRequiredByCreate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByCreateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByCreateIsMutable();
        requiredByCreate_.add(index, value);
        onChanged();
      } else {
        requiredByCreateBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
     */
    public Builder addRequiredByCreate(
        com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByCreateBuilder_ == null) {
        ensureRequiredByCreateIsMutable();
        requiredByCreate_.add(builderForValue.build());
        onChanged();
      } else {
        requiredByCreateBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
     */
    public Builder addRequiredByCreate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByCreateBuilder_ == null) {
        ensureRequiredByCreateIsMutable();
        requiredByCreate_.add(index, builderForValue.build());
        onChanged();
      } else {
        requiredByCreateBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
     */
    public Builder addAllRequiredByCreate(
        java.lang.Iterable values) {
      if (requiredByCreateBuilder_ == null) {
        ensureRequiredByCreateIsMutable();
        com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
            values, requiredByCreate_);
        onChanged();
      } else {
        requiredByCreateBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
     */
    public Builder clearRequiredByCreate() {
      if (requiredByCreateBuilder_ == null) {
        requiredByCreate_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000080);
        onChanged();
      } else {
        requiredByCreateBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
     */
    public Builder removeRequiredByCreate(int index) {
      if (requiredByCreateBuilder_ == null) {
        ensureRequiredByCreateIsMutable();
        requiredByCreate_.remove(index);
        onChanged();
      } else {
        requiredByCreateBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder getRequiredByCreateBuilder(
        int index) {
      return getRequiredByCreateFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getRequiredByCreateOrBuilder(
        int index) {
      if (requiredByCreateBuilder_ == null) {
        return requiredByCreate_.get(index);  } else {
        return requiredByCreateBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
     */
    public java.util.List 
         getRequiredByCreateOrBuilderList() {
      if (requiredByCreateBuilder_ != null) {
        return requiredByCreateBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(requiredByCreate_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addRequiredByCreateBuilder() {
      return getRequiredByCreateFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addRequiredByCreateBuilder(
        int index) {
      return getRequiredByCreateFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByCreate = 10;
     */
    public java.util.List 
         getRequiredByCreateBuilderList() {
      return getRequiredByCreateFieldBuilder().getBuilderList();
    }
    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> 
        getRequiredByCreateFieldBuilder() {
      if (requiredByCreateBuilder_ == null) {
        requiredByCreateBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder>(
                requiredByCreate_,
                ((bitField0_ & 0x00000080) != 0),
                getParentForChildren(),
                isClean());
        requiredByCreate_ = null;
      }
      return requiredByCreateBuilder_;
    }

    private java.util.List requiredByBuild_ =
      java.util.Collections.emptyList();
    private void ensureRequiredByBuildIsMutable() {
      if (!((bitField0_ & 0x00000100) != 0)) {
        requiredByBuild_ = new java.util.ArrayList(requiredByBuild_);
        bitField0_ |= 0x00000100;
       }
    }

    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> requiredByBuildBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
     */
    public java.util.List getRequiredByBuildList() {
      if (requiredByBuildBuilder_ == null) {
        return java.util.Collections.unmodifiableList(requiredByBuild_);
      } else {
        return requiredByBuildBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
     */
    public int getRequiredByBuildCount() {
      if (requiredByBuildBuilder_ == null) {
        return requiredByBuild_.size();
      } else {
        return requiredByBuildBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier getRequiredByBuild(int index) {
      if (requiredByBuildBuilder_ == null) {
        return requiredByBuild_.get(index);
      } else {
        return requiredByBuildBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
     */
    public Builder setRequiredByBuild(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByBuildBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByBuildIsMutable();
        requiredByBuild_.set(index, value);
        onChanged();
      } else {
        requiredByBuildBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
     */
    public Builder setRequiredByBuild(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByBuildBuilder_ == null) {
        ensureRequiredByBuildIsMutable();
        requiredByBuild_.set(index, builderForValue.build());
        onChanged();
      } else {
        requiredByBuildBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
     */
    public Builder addRequiredByBuild(com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByBuildBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByBuildIsMutable();
        requiredByBuild_.add(value);
        onChanged();
      } else {
        requiredByBuildBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
     */
    public Builder addRequiredByBuild(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByBuildBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByBuildIsMutable();
        requiredByBuild_.add(index, value);
        onChanged();
      } else {
        requiredByBuildBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
     */
    public Builder addRequiredByBuild(
        com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByBuildBuilder_ == null) {
        ensureRequiredByBuildIsMutable();
        requiredByBuild_.add(builderForValue.build());
        onChanged();
      } else {
        requiredByBuildBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
     */
    public Builder addRequiredByBuild(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByBuildBuilder_ == null) {
        ensureRequiredByBuildIsMutable();
        requiredByBuild_.add(index, builderForValue.build());
        onChanged();
      } else {
        requiredByBuildBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
     */
    public Builder addAllRequiredByBuild(
        java.lang.Iterable values) {
      if (requiredByBuildBuilder_ == null) {
        ensureRequiredByBuildIsMutable();
        com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
            values, requiredByBuild_);
        onChanged();
      } else {
        requiredByBuildBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
     */
    public Builder clearRequiredByBuild() {
      if (requiredByBuildBuilder_ == null) {
        requiredByBuild_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000100);
        onChanged();
      } else {
        requiredByBuildBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
     */
    public Builder removeRequiredByBuild(int index) {
      if (requiredByBuildBuilder_ == null) {
        ensureRequiredByBuildIsMutable();
        requiredByBuild_.remove(index);
        onChanged();
      } else {
        requiredByBuildBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder getRequiredByBuildBuilder(
        int index) {
      return getRequiredByBuildFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getRequiredByBuildOrBuilder(
        int index) {
      if (requiredByBuildBuilder_ == null) {
        return requiredByBuild_.get(index);  } else {
        return requiredByBuildBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
     */
    public java.util.List 
         getRequiredByBuildOrBuilderList() {
      if (requiredByBuildBuilder_ != null) {
        return requiredByBuildBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(requiredByBuild_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addRequiredByBuildBuilder() {
      return getRequiredByBuildFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addRequiredByBuildBuilder(
        int index) {
      return getRequiredByBuildFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByBuild = 11;
     */
    public java.util.List 
         getRequiredByBuildBuilderList() {
      return getRequiredByBuildFieldBuilder().getBuilderList();
    }
    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> 
        getRequiredByBuildFieldBuilder() {
      if (requiredByBuildBuilder_ == null) {
        requiredByBuildBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder>(
                requiredByBuild_,
                ((bitField0_ & 0x00000100) != 0),
                getParentForChildren(),
                isClean());
        requiredByBuild_ = null;
      }
      return requiredByBuildBuilder_;
    }

    private java.util.List requiredByVerify_ =
      java.util.Collections.emptyList();
    private void ensureRequiredByVerifyIsMutable() {
      if (!((bitField0_ & 0x00000200) != 0)) {
        requiredByVerify_ = new java.util.ArrayList(requiredByVerify_);
        bitField0_ |= 0x00000200;
       }
    }

    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> requiredByVerifyBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
     */
    public java.util.List getRequiredByVerifyList() {
      if (requiredByVerifyBuilder_ == null) {
        return java.util.Collections.unmodifiableList(requiredByVerify_);
      } else {
        return requiredByVerifyBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
     */
    public int getRequiredByVerifyCount() {
      if (requiredByVerifyBuilder_ == null) {
        return requiredByVerify_.size();
      } else {
        return requiredByVerifyBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier getRequiredByVerify(int index) {
      if (requiredByVerifyBuilder_ == null) {
        return requiredByVerify_.get(index);
      } else {
        return requiredByVerifyBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
     */
    public Builder setRequiredByVerify(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByVerifyBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByVerifyIsMutable();
        requiredByVerify_.set(index, value);
        onChanged();
      } else {
        requiredByVerifyBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
     */
    public Builder setRequiredByVerify(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByVerifyBuilder_ == null) {
        ensureRequiredByVerifyIsMutable();
        requiredByVerify_.set(index, builderForValue.build());
        onChanged();
      } else {
        requiredByVerifyBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
     */
    public Builder addRequiredByVerify(com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByVerifyBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByVerifyIsMutable();
        requiredByVerify_.add(value);
        onChanged();
      } else {
        requiredByVerifyBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
     */
    public Builder addRequiredByVerify(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByVerifyBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByVerifyIsMutable();
        requiredByVerify_.add(index, value);
        onChanged();
      } else {
        requiredByVerifyBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
     */
    public Builder addRequiredByVerify(
        com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByVerifyBuilder_ == null) {
        ensureRequiredByVerifyIsMutable();
        requiredByVerify_.add(builderForValue.build());
        onChanged();
      } else {
        requiredByVerifyBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
     */
    public Builder addRequiredByVerify(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByVerifyBuilder_ == null) {
        ensureRequiredByVerifyIsMutable();
        requiredByVerify_.add(index, builderForValue.build());
        onChanged();
      } else {
        requiredByVerifyBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
     */
    public Builder addAllRequiredByVerify(
        java.lang.Iterable values) {
      if (requiredByVerifyBuilder_ == null) {
        ensureRequiredByVerifyIsMutable();
        com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
            values, requiredByVerify_);
        onChanged();
      } else {
        requiredByVerifyBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
     */
    public Builder clearRequiredByVerify() {
      if (requiredByVerifyBuilder_ == null) {
        requiredByVerify_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000200);
        onChanged();
      } else {
        requiredByVerifyBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
     */
    public Builder removeRequiredByVerify(int index) {
      if (requiredByVerifyBuilder_ == null) {
        ensureRequiredByVerifyIsMutable();
        requiredByVerify_.remove(index);
        onChanged();
      } else {
        requiredByVerifyBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder getRequiredByVerifyBuilder(
        int index) {
      return getRequiredByVerifyFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getRequiredByVerifyOrBuilder(
        int index) {
      if (requiredByVerifyBuilder_ == null) {
        return requiredByVerify_.get(index);  } else {
        return requiredByVerifyBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
     */
    public java.util.List 
         getRequiredByVerifyOrBuilderList() {
      if (requiredByVerifyBuilder_ != null) {
        return requiredByVerifyBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(requiredByVerify_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addRequiredByVerifyBuilder() {
      return getRequiredByVerifyFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addRequiredByVerifyBuilder(
        int index) {
      return getRequiredByVerifyFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByVerify = 12;
     */
    public java.util.List 
         getRequiredByVerifyBuilderList() {
      return getRequiredByVerifyFieldBuilder().getBuilderList();
    }
    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> 
        getRequiredByVerifyFieldBuilder() {
      if (requiredByVerifyBuilder_ == null) {
        requiredByVerifyBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder>(
                requiredByVerify_,
                ((bitField0_ & 0x00000200) != 0),
                getParentForChildren(),
                isClean());
        requiredByVerify_ = null;
      }
      return requiredByVerifyBuilder_;
    }

    private java.util.List requiredByTruncate_ =
      java.util.Collections.emptyList();
    private void ensureRequiredByTruncateIsMutable() {
      if (!((bitField0_ & 0x00000400) != 0)) {
        requiredByTruncate_ = new java.util.ArrayList(requiredByTruncate_);
        bitField0_ |= 0x00000400;
       }
    }

    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> requiredByTruncateBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
     */
    public java.util.List getRequiredByTruncateList() {
      if (requiredByTruncateBuilder_ == null) {
        return java.util.Collections.unmodifiableList(requiredByTruncate_);
      } else {
        return requiredByTruncateBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
     */
    public int getRequiredByTruncateCount() {
      if (requiredByTruncateBuilder_ == null) {
        return requiredByTruncate_.size();
      } else {
        return requiredByTruncateBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier getRequiredByTruncate(int index) {
      if (requiredByTruncateBuilder_ == null) {
        return requiredByTruncate_.get(index);
      } else {
        return requiredByTruncateBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
     */
    public Builder setRequiredByTruncate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByTruncateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByTruncateIsMutable();
        requiredByTruncate_.set(index, value);
        onChanged();
      } else {
        requiredByTruncateBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
     */
    public Builder setRequiredByTruncate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByTruncateBuilder_ == null) {
        ensureRequiredByTruncateIsMutable();
        requiredByTruncate_.set(index, builderForValue.build());
        onChanged();
      } else {
        requiredByTruncateBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
     */
    public Builder addRequiredByTruncate(com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByTruncateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByTruncateIsMutable();
        requiredByTruncate_.add(value);
        onChanged();
      } else {
        requiredByTruncateBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
     */
    public Builder addRequiredByTruncate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByTruncateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByTruncateIsMutable();
        requiredByTruncate_.add(index, value);
        onChanged();
      } else {
        requiredByTruncateBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
     */
    public Builder addRequiredByTruncate(
        com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByTruncateBuilder_ == null) {
        ensureRequiredByTruncateIsMutable();
        requiredByTruncate_.add(builderForValue.build());
        onChanged();
      } else {
        requiredByTruncateBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
     */
    public Builder addRequiredByTruncate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByTruncateBuilder_ == null) {
        ensureRequiredByTruncateIsMutable();
        requiredByTruncate_.add(index, builderForValue.build());
        onChanged();
      } else {
        requiredByTruncateBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
     */
    public Builder addAllRequiredByTruncate(
        java.lang.Iterable values) {
      if (requiredByTruncateBuilder_ == null) {
        ensureRequiredByTruncateIsMutable();
        com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
            values, requiredByTruncate_);
        onChanged();
      } else {
        requiredByTruncateBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
     */
    public Builder clearRequiredByTruncate() {
      if (requiredByTruncateBuilder_ == null) {
        requiredByTruncate_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000400);
        onChanged();
      } else {
        requiredByTruncateBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
     */
    public Builder removeRequiredByTruncate(int index) {
      if (requiredByTruncateBuilder_ == null) {
        ensureRequiredByTruncateIsMutable();
        requiredByTruncate_.remove(index);
        onChanged();
      } else {
        requiredByTruncateBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder getRequiredByTruncateBuilder(
        int index) {
      return getRequiredByTruncateFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getRequiredByTruncateOrBuilder(
        int index) {
      if (requiredByTruncateBuilder_ == null) {
        return requiredByTruncate_.get(index);  } else {
        return requiredByTruncateBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
     */
    public java.util.List 
         getRequiredByTruncateOrBuilderList() {
      if (requiredByTruncateBuilder_ != null) {
        return requiredByTruncateBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(requiredByTruncate_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addRequiredByTruncateBuilder() {
      return getRequiredByTruncateFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addRequiredByTruncateBuilder(
        int index) {
      return getRequiredByTruncateFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByTruncate = 13;
     */
    public java.util.List 
         getRequiredByTruncateBuilderList() {
      return getRequiredByTruncateFieldBuilder().getBuilderList();
    }
    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> 
        getRequiredByTruncateFieldBuilder() {
      if (requiredByTruncateBuilder_ == null) {
        requiredByTruncateBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder>(
                requiredByTruncate_,
                ((bitField0_ & 0x00000400) != 0),
                getParentForChildren(),
                isClean());
        requiredByTruncate_ = null;
      }
      return requiredByTruncateBuilder_;
    }

    private java.util.List requiredByDestroy_ =
      java.util.Collections.emptyList();
    private void ensureRequiredByDestroyIsMutable() {
      if (!((bitField0_ & 0x00000800) != 0)) {
        requiredByDestroy_ = new java.util.ArrayList(requiredByDestroy_);
        bitField0_ |= 0x00000800;
       }
    }

    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> requiredByDestroyBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
     */
    public java.util.List getRequiredByDestroyList() {
      if (requiredByDestroyBuilder_ == null) {
        return java.util.Collections.unmodifiableList(requiredByDestroy_);
      } else {
        return requiredByDestroyBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
     */
    public int getRequiredByDestroyCount() {
      if (requiredByDestroyBuilder_ == null) {
        return requiredByDestroy_.size();
      } else {
        return requiredByDestroyBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier getRequiredByDestroy(int index) {
      if (requiredByDestroyBuilder_ == null) {
        return requiredByDestroy_.get(index);
      } else {
        return requiredByDestroyBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
     */
    public Builder setRequiredByDestroy(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByDestroyBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByDestroyIsMutable();
        requiredByDestroy_.set(index, value);
        onChanged();
      } else {
        requiredByDestroyBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
     */
    public Builder setRequiredByDestroy(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByDestroyBuilder_ == null) {
        ensureRequiredByDestroyIsMutable();
        requiredByDestroy_.set(index, builderForValue.build());
        onChanged();
      } else {
        requiredByDestroyBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
     */
    public Builder addRequiredByDestroy(com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByDestroyBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByDestroyIsMutable();
        requiredByDestroy_.add(value);
        onChanged();
      } else {
        requiredByDestroyBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
     */
    public Builder addRequiredByDestroy(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (requiredByDestroyBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRequiredByDestroyIsMutable();
        requiredByDestroy_.add(index, value);
        onChanged();
      } else {
        requiredByDestroyBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
     */
    public Builder addRequiredByDestroy(
        com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByDestroyBuilder_ == null) {
        ensureRequiredByDestroyIsMutable();
        requiredByDestroy_.add(builderForValue.build());
        onChanged();
      } else {
        requiredByDestroyBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
     */
    public Builder addRequiredByDestroy(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (requiredByDestroyBuilder_ == null) {
        ensureRequiredByDestroyIsMutable();
        requiredByDestroy_.add(index, builderForValue.build());
        onChanged();
      } else {
        requiredByDestroyBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
     */
    public Builder addAllRequiredByDestroy(
        java.lang.Iterable values) {
      if (requiredByDestroyBuilder_ == null) {
        ensureRequiredByDestroyIsMutable();
        com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
            values, requiredByDestroy_);
        onChanged();
      } else {
        requiredByDestroyBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
     */
    public Builder clearRequiredByDestroy() {
      if (requiredByDestroyBuilder_ == null) {
        requiredByDestroy_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000800);
        onChanged();
      } else {
        requiredByDestroyBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
     */
    public Builder removeRequiredByDestroy(int index) {
      if (requiredByDestroyBuilder_ == null) {
        ensureRequiredByDestroyIsMutable();
        requiredByDestroy_.remove(index);
        onChanged();
      } else {
        requiredByDestroyBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder getRequiredByDestroyBuilder(
        int index) {
      return getRequiredByDestroyFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getRequiredByDestroyOrBuilder(
        int index) {
      if (requiredByDestroyBuilder_ == null) {
        return requiredByDestroy_.get(index);  } else {
        return requiredByDestroyBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
     */
    public java.util.List 
         getRequiredByDestroyOrBuilderList() {
      if (requiredByDestroyBuilder_ != null) {
        return requiredByDestroyBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(requiredByDestroy_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addRequiredByDestroyBuilder() {
      return getRequiredByDestroyFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addRequiredByDestroyBuilder(
        int index) {
      return getRequiredByDestroyFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier requiredByDestroy = 14;
     */
    public java.util.List 
         getRequiredByDestroyBuilderList() {
      return getRequiredByDestroyFieldBuilder().getBuilderList();
    }
    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> 
        getRequiredByDestroyFieldBuilder() {
      if (requiredByDestroyBuilder_ == null) {
        requiredByDestroyBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder>(
                requiredByDestroy_,
                ((bitField0_ & 0x00000800) != 0),
                getParentForChildren(),
                isClean());
        requiredByDestroy_ = null;
      }
      return requiredByDestroyBuilder_;
    }

    private java.util.List providedByValidate_ =
      java.util.Collections.emptyList();
    private void ensureProvidedByValidateIsMutable() {
      if (!((bitField0_ & 0x00001000) != 0)) {
        providedByValidate_ = new java.util.ArrayList(providedByValidate_);
        bitField0_ |= 0x00001000;
       }
    }

    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> providedByValidateBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
     */
    public java.util.List getProvidedByValidateList() {
      if (providedByValidateBuilder_ == null) {
        return java.util.Collections.unmodifiableList(providedByValidate_);
      } else {
        return providedByValidateBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
     */
    public int getProvidedByValidateCount() {
      if (providedByValidateBuilder_ == null) {
        return providedByValidate_.size();
      } else {
        return providedByValidateBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier getProvidedByValidate(int index) {
      if (providedByValidateBuilder_ == null) {
        return providedByValidate_.get(index);
      } else {
        return providedByValidateBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
     */
    public Builder setProvidedByValidate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByValidateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByValidateIsMutable();
        providedByValidate_.set(index, value);
        onChanged();
      } else {
        providedByValidateBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
     */
    public Builder setProvidedByValidate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByValidateBuilder_ == null) {
        ensureProvidedByValidateIsMutable();
        providedByValidate_.set(index, builderForValue.build());
        onChanged();
      } else {
        providedByValidateBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
     */
    public Builder addProvidedByValidate(com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByValidateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByValidateIsMutable();
        providedByValidate_.add(value);
        onChanged();
      } else {
        providedByValidateBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
     */
    public Builder addProvidedByValidate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByValidateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByValidateIsMutable();
        providedByValidate_.add(index, value);
        onChanged();
      } else {
        providedByValidateBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
     */
    public Builder addProvidedByValidate(
        com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByValidateBuilder_ == null) {
        ensureProvidedByValidateIsMutable();
        providedByValidate_.add(builderForValue.build());
        onChanged();
      } else {
        providedByValidateBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
     */
    public Builder addProvidedByValidate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByValidateBuilder_ == null) {
        ensureProvidedByValidateIsMutable();
        providedByValidate_.add(index, builderForValue.build());
        onChanged();
      } else {
        providedByValidateBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
     */
    public Builder addAllProvidedByValidate(
        java.lang.Iterable values) {
      if (providedByValidateBuilder_ == null) {
        ensureProvidedByValidateIsMutable();
        com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
            values, providedByValidate_);
        onChanged();
      } else {
        providedByValidateBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
     */
    public Builder clearProvidedByValidate() {
      if (providedByValidateBuilder_ == null) {
        providedByValidate_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00001000);
        onChanged();
      } else {
        providedByValidateBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
     */
    public Builder removeProvidedByValidate(int index) {
      if (providedByValidateBuilder_ == null) {
        ensureProvidedByValidateIsMutable();
        providedByValidate_.remove(index);
        onChanged();
      } else {
        providedByValidateBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder getProvidedByValidateBuilder(
        int index) {
      return getProvidedByValidateFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getProvidedByValidateOrBuilder(
        int index) {
      if (providedByValidateBuilder_ == null) {
        return providedByValidate_.get(index);  } else {
        return providedByValidateBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
     */
    public java.util.List 
         getProvidedByValidateOrBuilderList() {
      if (providedByValidateBuilder_ != null) {
        return providedByValidateBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(providedByValidate_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addProvidedByValidateBuilder() {
      return getProvidedByValidateFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addProvidedByValidateBuilder(
        int index) {
      return getProvidedByValidateFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByValidate = 15;
     */
    public java.util.List 
         getProvidedByValidateBuilderList() {
      return getProvidedByValidateFieldBuilder().getBuilderList();
    }
    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> 
        getProvidedByValidateFieldBuilder() {
      if (providedByValidateBuilder_ == null) {
        providedByValidateBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder>(
                providedByValidate_,
                ((bitField0_ & 0x00001000) != 0),
                getParentForChildren(),
                isClean());
        providedByValidate_ = null;
      }
      return providedByValidateBuilder_;
    }

    private java.util.List providedByCreate_ =
      java.util.Collections.emptyList();
    private void ensureProvidedByCreateIsMutable() {
      if (!((bitField0_ & 0x00002000) != 0)) {
        providedByCreate_ = new java.util.ArrayList(providedByCreate_);
        bitField0_ |= 0x00002000;
       }
    }

    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> providedByCreateBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
     */
    public java.util.List getProvidedByCreateList() {
      if (providedByCreateBuilder_ == null) {
        return java.util.Collections.unmodifiableList(providedByCreate_);
      } else {
        return providedByCreateBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
     */
    public int getProvidedByCreateCount() {
      if (providedByCreateBuilder_ == null) {
        return providedByCreate_.size();
      } else {
        return providedByCreateBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier getProvidedByCreate(int index) {
      if (providedByCreateBuilder_ == null) {
        return providedByCreate_.get(index);
      } else {
        return providedByCreateBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
     */
    public Builder setProvidedByCreate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByCreateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByCreateIsMutable();
        providedByCreate_.set(index, value);
        onChanged();
      } else {
        providedByCreateBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
     */
    public Builder setProvidedByCreate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByCreateBuilder_ == null) {
        ensureProvidedByCreateIsMutable();
        providedByCreate_.set(index, builderForValue.build());
        onChanged();
      } else {
        providedByCreateBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
     */
    public Builder addProvidedByCreate(com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByCreateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByCreateIsMutable();
        providedByCreate_.add(value);
        onChanged();
      } else {
        providedByCreateBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
     */
    public Builder addProvidedByCreate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByCreateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByCreateIsMutable();
        providedByCreate_.add(index, value);
        onChanged();
      } else {
        providedByCreateBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
     */
    public Builder addProvidedByCreate(
        com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByCreateBuilder_ == null) {
        ensureProvidedByCreateIsMutable();
        providedByCreate_.add(builderForValue.build());
        onChanged();
      } else {
        providedByCreateBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
     */
    public Builder addProvidedByCreate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByCreateBuilder_ == null) {
        ensureProvidedByCreateIsMutable();
        providedByCreate_.add(index, builderForValue.build());
        onChanged();
      } else {
        providedByCreateBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
     */
    public Builder addAllProvidedByCreate(
        java.lang.Iterable values) {
      if (providedByCreateBuilder_ == null) {
        ensureProvidedByCreateIsMutable();
        com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
            values, providedByCreate_);
        onChanged();
      } else {
        providedByCreateBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
     */
    public Builder clearProvidedByCreate() {
      if (providedByCreateBuilder_ == null) {
        providedByCreate_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00002000);
        onChanged();
      } else {
        providedByCreateBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
     */
    public Builder removeProvidedByCreate(int index) {
      if (providedByCreateBuilder_ == null) {
        ensureProvidedByCreateIsMutable();
        providedByCreate_.remove(index);
        onChanged();
      } else {
        providedByCreateBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder getProvidedByCreateBuilder(
        int index) {
      return getProvidedByCreateFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getProvidedByCreateOrBuilder(
        int index) {
      if (providedByCreateBuilder_ == null) {
        return providedByCreate_.get(index);  } else {
        return providedByCreateBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
     */
    public java.util.List 
         getProvidedByCreateOrBuilderList() {
      if (providedByCreateBuilder_ != null) {
        return providedByCreateBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(providedByCreate_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addProvidedByCreateBuilder() {
      return getProvidedByCreateFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addProvidedByCreateBuilder(
        int index) {
      return getProvidedByCreateFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByCreate = 16;
     */
    public java.util.List 
         getProvidedByCreateBuilderList() {
      return getProvidedByCreateFieldBuilder().getBuilderList();
    }
    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> 
        getProvidedByCreateFieldBuilder() {
      if (providedByCreateBuilder_ == null) {
        providedByCreateBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder>(
                providedByCreate_,
                ((bitField0_ & 0x00002000) != 0),
                getParentForChildren(),
                isClean());
        providedByCreate_ = null;
      }
      return providedByCreateBuilder_;
    }

    private java.util.List providedByBuild_ =
      java.util.Collections.emptyList();
    private void ensureProvidedByBuildIsMutable() {
      if (!((bitField0_ & 0x00004000) != 0)) {
        providedByBuild_ = new java.util.ArrayList(providedByBuild_);
        bitField0_ |= 0x00004000;
       }
    }

    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> providedByBuildBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
     */
    public java.util.List getProvidedByBuildList() {
      if (providedByBuildBuilder_ == null) {
        return java.util.Collections.unmodifiableList(providedByBuild_);
      } else {
        return providedByBuildBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
     */
    public int getProvidedByBuildCount() {
      if (providedByBuildBuilder_ == null) {
        return providedByBuild_.size();
      } else {
        return providedByBuildBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier getProvidedByBuild(int index) {
      if (providedByBuildBuilder_ == null) {
        return providedByBuild_.get(index);
      } else {
        return providedByBuildBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
     */
    public Builder setProvidedByBuild(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByBuildBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByBuildIsMutable();
        providedByBuild_.set(index, value);
        onChanged();
      } else {
        providedByBuildBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
     */
    public Builder setProvidedByBuild(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByBuildBuilder_ == null) {
        ensureProvidedByBuildIsMutable();
        providedByBuild_.set(index, builderForValue.build());
        onChanged();
      } else {
        providedByBuildBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
     */
    public Builder addProvidedByBuild(com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByBuildBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByBuildIsMutable();
        providedByBuild_.add(value);
        onChanged();
      } else {
        providedByBuildBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
     */
    public Builder addProvidedByBuild(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByBuildBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByBuildIsMutable();
        providedByBuild_.add(index, value);
        onChanged();
      } else {
        providedByBuildBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
     */
    public Builder addProvidedByBuild(
        com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByBuildBuilder_ == null) {
        ensureProvidedByBuildIsMutable();
        providedByBuild_.add(builderForValue.build());
        onChanged();
      } else {
        providedByBuildBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
     */
    public Builder addProvidedByBuild(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByBuildBuilder_ == null) {
        ensureProvidedByBuildIsMutable();
        providedByBuild_.add(index, builderForValue.build());
        onChanged();
      } else {
        providedByBuildBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
     */
    public Builder addAllProvidedByBuild(
        java.lang.Iterable values) {
      if (providedByBuildBuilder_ == null) {
        ensureProvidedByBuildIsMutable();
        com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
            values, providedByBuild_);
        onChanged();
      } else {
        providedByBuildBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
     */
    public Builder clearProvidedByBuild() {
      if (providedByBuildBuilder_ == null) {
        providedByBuild_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00004000);
        onChanged();
      } else {
        providedByBuildBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
     */
    public Builder removeProvidedByBuild(int index) {
      if (providedByBuildBuilder_ == null) {
        ensureProvidedByBuildIsMutable();
        providedByBuild_.remove(index);
        onChanged();
      } else {
        providedByBuildBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder getProvidedByBuildBuilder(
        int index) {
      return getProvidedByBuildFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getProvidedByBuildOrBuilder(
        int index) {
      if (providedByBuildBuilder_ == null) {
        return providedByBuild_.get(index);  } else {
        return providedByBuildBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
     */
    public java.util.List 
         getProvidedByBuildOrBuilderList() {
      if (providedByBuildBuilder_ != null) {
        return providedByBuildBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(providedByBuild_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addProvidedByBuildBuilder() {
      return getProvidedByBuildFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addProvidedByBuildBuilder(
        int index) {
      return getProvidedByBuildFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByBuild = 17;
     */
    public java.util.List 
         getProvidedByBuildBuilderList() {
      return getProvidedByBuildFieldBuilder().getBuilderList();
    }
    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> 
        getProvidedByBuildFieldBuilder() {
      if (providedByBuildBuilder_ == null) {
        providedByBuildBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder>(
                providedByBuild_,
                ((bitField0_ & 0x00004000) != 0),
                getParentForChildren(),
                isClean());
        providedByBuild_ = null;
      }
      return providedByBuildBuilder_;
    }

    private java.util.List providedByVerify_ =
      java.util.Collections.emptyList();
    private void ensureProvidedByVerifyIsMutable() {
      if (!((bitField0_ & 0x00008000) != 0)) {
        providedByVerify_ = new java.util.ArrayList(providedByVerify_);
        bitField0_ |= 0x00008000;
       }
    }

    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> providedByVerifyBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
     */
    public java.util.List getProvidedByVerifyList() {
      if (providedByVerifyBuilder_ == null) {
        return java.util.Collections.unmodifiableList(providedByVerify_);
      } else {
        return providedByVerifyBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
     */
    public int getProvidedByVerifyCount() {
      if (providedByVerifyBuilder_ == null) {
        return providedByVerify_.size();
      } else {
        return providedByVerifyBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier getProvidedByVerify(int index) {
      if (providedByVerifyBuilder_ == null) {
        return providedByVerify_.get(index);
      } else {
        return providedByVerifyBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
     */
    public Builder setProvidedByVerify(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByVerifyBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByVerifyIsMutable();
        providedByVerify_.set(index, value);
        onChanged();
      } else {
        providedByVerifyBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
     */
    public Builder setProvidedByVerify(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByVerifyBuilder_ == null) {
        ensureProvidedByVerifyIsMutable();
        providedByVerify_.set(index, builderForValue.build());
        onChanged();
      } else {
        providedByVerifyBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
     */
    public Builder addProvidedByVerify(com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByVerifyBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByVerifyIsMutable();
        providedByVerify_.add(value);
        onChanged();
      } else {
        providedByVerifyBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
     */
    public Builder addProvidedByVerify(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByVerifyBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByVerifyIsMutable();
        providedByVerify_.add(index, value);
        onChanged();
      } else {
        providedByVerifyBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
     */
    public Builder addProvidedByVerify(
        com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByVerifyBuilder_ == null) {
        ensureProvidedByVerifyIsMutable();
        providedByVerify_.add(builderForValue.build());
        onChanged();
      } else {
        providedByVerifyBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
     */
    public Builder addProvidedByVerify(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByVerifyBuilder_ == null) {
        ensureProvidedByVerifyIsMutable();
        providedByVerify_.add(index, builderForValue.build());
        onChanged();
      } else {
        providedByVerifyBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
     */
    public Builder addAllProvidedByVerify(
        java.lang.Iterable values) {
      if (providedByVerifyBuilder_ == null) {
        ensureProvidedByVerifyIsMutable();
        com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
            values, providedByVerify_);
        onChanged();
      } else {
        providedByVerifyBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
     */
    public Builder clearProvidedByVerify() {
      if (providedByVerifyBuilder_ == null) {
        providedByVerify_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00008000);
        onChanged();
      } else {
        providedByVerifyBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
     */
    public Builder removeProvidedByVerify(int index) {
      if (providedByVerifyBuilder_ == null) {
        ensureProvidedByVerifyIsMutable();
        providedByVerify_.remove(index);
        onChanged();
      } else {
        providedByVerifyBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder getProvidedByVerifyBuilder(
        int index) {
      return getProvidedByVerifyFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getProvidedByVerifyOrBuilder(
        int index) {
      if (providedByVerifyBuilder_ == null) {
        return providedByVerify_.get(index);  } else {
        return providedByVerifyBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
     */
    public java.util.List 
         getProvidedByVerifyOrBuilderList() {
      if (providedByVerifyBuilder_ != null) {
        return providedByVerifyBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(providedByVerify_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addProvidedByVerifyBuilder() {
      return getProvidedByVerifyFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addProvidedByVerifyBuilder(
        int index) {
      return getProvidedByVerifyFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByVerify = 18;
     */
    public java.util.List 
         getProvidedByVerifyBuilderList() {
      return getProvidedByVerifyFieldBuilder().getBuilderList();
    }
    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> 
        getProvidedByVerifyFieldBuilder() {
      if (providedByVerifyBuilder_ == null) {
        providedByVerifyBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder>(
                providedByVerify_,
                ((bitField0_ & 0x00008000) != 0),
                getParentForChildren(),
                isClean());
        providedByVerify_ = null;
      }
      return providedByVerifyBuilder_;
    }

    private java.util.List providedByTruncate_ =
      java.util.Collections.emptyList();
    private void ensureProvidedByTruncateIsMutable() {
      if (!((bitField0_ & 0x00010000) != 0)) {
        providedByTruncate_ = new java.util.ArrayList(providedByTruncate_);
        bitField0_ |= 0x00010000;
       }
    }

    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> providedByTruncateBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
     */
    public java.util.List getProvidedByTruncateList() {
      if (providedByTruncateBuilder_ == null) {
        return java.util.Collections.unmodifiableList(providedByTruncate_);
      } else {
        return providedByTruncateBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
     */
    public int getProvidedByTruncateCount() {
      if (providedByTruncateBuilder_ == null) {
        return providedByTruncate_.size();
      } else {
        return providedByTruncateBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier getProvidedByTruncate(int index) {
      if (providedByTruncateBuilder_ == null) {
        return providedByTruncate_.get(index);
      } else {
        return providedByTruncateBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
     */
    public Builder setProvidedByTruncate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByTruncateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByTruncateIsMutable();
        providedByTruncate_.set(index, value);
        onChanged();
      } else {
        providedByTruncateBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
     */
    public Builder setProvidedByTruncate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByTruncateBuilder_ == null) {
        ensureProvidedByTruncateIsMutable();
        providedByTruncate_.set(index, builderForValue.build());
        onChanged();
      } else {
        providedByTruncateBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
     */
    public Builder addProvidedByTruncate(com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByTruncateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByTruncateIsMutable();
        providedByTruncate_.add(value);
        onChanged();
      } else {
        providedByTruncateBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
     */
    public Builder addProvidedByTruncate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByTruncateBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByTruncateIsMutable();
        providedByTruncate_.add(index, value);
        onChanged();
      } else {
        providedByTruncateBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
     */
    public Builder addProvidedByTruncate(
        com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByTruncateBuilder_ == null) {
        ensureProvidedByTruncateIsMutable();
        providedByTruncate_.add(builderForValue.build());
        onChanged();
      } else {
        providedByTruncateBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
     */
    public Builder addProvidedByTruncate(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByTruncateBuilder_ == null) {
        ensureProvidedByTruncateIsMutable();
        providedByTruncate_.add(index, builderForValue.build());
        onChanged();
      } else {
        providedByTruncateBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
     */
    public Builder addAllProvidedByTruncate(
        java.lang.Iterable values) {
      if (providedByTruncateBuilder_ == null) {
        ensureProvidedByTruncateIsMutable();
        com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
            values, providedByTruncate_);
        onChanged();
      } else {
        providedByTruncateBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
     */
    public Builder clearProvidedByTruncate() {
      if (providedByTruncateBuilder_ == null) {
        providedByTruncate_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00010000);
        onChanged();
      } else {
        providedByTruncateBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
     */
    public Builder removeProvidedByTruncate(int index) {
      if (providedByTruncateBuilder_ == null) {
        ensureProvidedByTruncateIsMutable();
        providedByTruncate_.remove(index);
        onChanged();
      } else {
        providedByTruncateBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder getProvidedByTruncateBuilder(
        int index) {
      return getProvidedByTruncateFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getProvidedByTruncateOrBuilder(
        int index) {
      if (providedByTruncateBuilder_ == null) {
        return providedByTruncate_.get(index);  } else {
        return providedByTruncateBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
     */
    public java.util.List 
         getProvidedByTruncateOrBuilderList() {
      if (providedByTruncateBuilder_ != null) {
        return providedByTruncateBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(providedByTruncate_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addProvidedByTruncateBuilder() {
      return getProvidedByTruncateFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addProvidedByTruncateBuilder(
        int index) {
      return getProvidedByTruncateFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByTruncate = 19;
     */
    public java.util.List 
         getProvidedByTruncateBuilderList() {
      return getProvidedByTruncateFieldBuilder().getBuilderList();
    }
    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> 
        getProvidedByTruncateFieldBuilder() {
      if (providedByTruncateBuilder_ == null) {
        providedByTruncateBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder>(
                providedByTruncate_,
                ((bitField0_ & 0x00010000) != 0),
                getParentForChildren(),
                isClean());
        providedByTruncate_ = null;
      }
      return providedByTruncateBuilder_;
    }

    private java.util.List providedByDestroy_ =
      java.util.Collections.emptyList();
    private void ensureProvidedByDestroyIsMutable() {
      if (!((bitField0_ & 0x00020000) != 0)) {
        providedByDestroy_ = new java.util.ArrayList(providedByDestroy_);
        bitField0_ |= 0x00020000;
       }
    }

    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> providedByDestroyBuilder_;

    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
     */
    public java.util.List getProvidedByDestroyList() {
      if (providedByDestroyBuilder_ == null) {
        return java.util.Collections.unmodifiableList(providedByDestroy_);
      } else {
        return providedByDestroyBuilder_.getMessageList();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
     */
    public int getProvidedByDestroyCount() {
      if (providedByDestroyBuilder_ == null) {
        return providedByDestroy_.size();
      } else {
        return providedByDestroyBuilder_.getCount();
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier getProvidedByDestroy(int index) {
      if (providedByDestroyBuilder_ == null) {
        return providedByDestroy_.get(index);
      } else {
        return providedByDestroyBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
     */
    public Builder setProvidedByDestroy(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByDestroyBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByDestroyIsMutable();
        providedByDestroy_.set(index, value);
        onChanged();
      } else {
        providedByDestroyBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
     */
    public Builder setProvidedByDestroy(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByDestroyBuilder_ == null) {
        ensureProvidedByDestroyIsMutable();
        providedByDestroy_.set(index, builderForValue.build());
        onChanged();
      } else {
        providedByDestroyBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
     */
    public Builder addProvidedByDestroy(com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByDestroyBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByDestroyIsMutable();
        providedByDestroy_.add(value);
        onChanged();
      } else {
        providedByDestroyBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
     */
    public Builder addProvidedByDestroy(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier value) {
      if (providedByDestroyBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureProvidedByDestroyIsMutable();
        providedByDestroy_.add(index, value);
        onChanged();
      } else {
        providedByDestroyBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
     */
    public Builder addProvidedByDestroy(
        com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByDestroyBuilder_ == null) {
        ensureProvidedByDestroyIsMutable();
        providedByDestroy_.add(builderForValue.build());
        onChanged();
      } else {
        providedByDestroyBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
     */
    public Builder addProvidedByDestroy(
        int index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder builderForValue) {
      if (providedByDestroyBuilder_ == null) {
        ensureProvidedByDestroyIsMutable();
        providedByDestroy_.add(index, builderForValue.build());
        onChanged();
      } else {
        providedByDestroyBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
     */
    public Builder addAllProvidedByDestroy(
        java.lang.Iterable values) {
      if (providedByDestroyBuilder_ == null) {
        ensureProvidedByDestroyIsMutable();
        com.dimajix.shaded.protobuf.AbstractMessageLite.Builder.addAll(
            values, providedByDestroy_);
        onChanged();
      } else {
        providedByDestroyBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
     */
    public Builder clearProvidedByDestroy() {
      if (providedByDestroyBuilder_ == null) {
        providedByDestroy_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00020000);
        onChanged();
      } else {
        providedByDestroyBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
     */
    public Builder removeProvidedByDestroy(int index) {
      if (providedByDestroyBuilder_ == null) {
        ensureProvidedByDestroyIsMutable();
        providedByDestroy_.remove(index);
        onChanged();
      } else {
        providedByDestroyBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder getProvidedByDestroyBuilder(
        int index) {
      return getProvidedByDestroyFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder getProvidedByDestroyOrBuilder(
        int index) {
      if (providedByDestroyBuilder_ == null) {
        return providedByDestroy_.get(index);  } else {
        return providedByDestroyBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
     */
    public java.util.List 
         getProvidedByDestroyOrBuilderList() {
      if (providedByDestroyBuilder_ != null) {
        return providedByDestroyBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(providedByDestroy_);
      }
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addProvidedByDestroyBuilder() {
      return getProvidedByDestroyFieldBuilder().addBuilder(
          com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
     */
    public com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder addProvidedByDestroyBuilder(
        int index) {
      return getProvidedByDestroyFieldBuilder().addBuilder(
          index, com.dimajix.flowman.kernel.proto.ResourceIdentifier.getDefaultInstance());
    }
    /**
     * repeated .com.dimajix.flowman.kernel.ResourceIdentifier providedByDestroy = 20;
     */
    public java.util.List 
         getProvidedByDestroyBuilderList() {
      return getProvidedByDestroyFieldBuilder().getBuilderList();
    }
    private com.dimajix.shaded.protobuf.RepeatedFieldBuilderV3<
        com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder> 
        getProvidedByDestroyFieldBuilder() {
      if (providedByDestroyBuilder_ == null) {
        providedByDestroyBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            com.dimajix.flowman.kernel.proto.ResourceIdentifier, com.dimajix.flowman.kernel.proto.ResourceIdentifier.Builder, com.dimajix.flowman.kernel.proto.ResourceIdentifierOrBuilder>(
                providedByDestroy_,
                ((bitField0_ & 0x00020000) != 0),
                getParentForChildren(),
                isClean());
        providedByDestroy_ = null;
      }
      return providedByDestroyBuilder_;
    }
    @java.lang.Override
    public final Builder setUnknownFields(
        final com.dimajix.shaded.protobuf.UnknownFieldSet unknownFields) {
      return super.setUnknownFields(unknownFields);
    }

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


    // @@protoc_insertion_point(builder_scope:com.dimajix.flowman.kernel.target.TargetDetails)
  }

  // @@protoc_insertion_point(class_scope:com.dimajix.flowman.kernel.target.TargetDetails)
  private static final com.dimajix.flowman.kernel.proto.target.TargetDetails DEFAULT_INSTANCE;
  static {
    DEFAULT_INSTANCE = new com.dimajix.flowman.kernel.proto.target.TargetDetails();
  }

  public static com.dimajix.flowman.kernel.proto.target.TargetDetails getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  private static final com.dimajix.shaded.protobuf.Parser
      PARSER = new com.google.protobuf.AbstractParser() {
    @java.lang.Override
    public TargetDetails parsePartialFrom(
        com.dimajix.shaded.protobuf.CodedInputStream input,
        com.dimajix.shaded.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.dimajix.shaded.protobuf.InvalidProtocolBufferException {
      Builder builder = newBuilder();
      try {
        builder.mergeFrom(input, extensionRegistry);
      } catch (com.dimajix.shaded.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(builder.buildPartial());
      } catch (com.dimajix.shaded.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(e)
            .setUnfinishedMessage(builder.buildPartial());
      }
      return builder.buildPartial();
    }
  };

  public static com.dimajix.shaded.protobuf.Parser parser() {
    return PARSER;
  }

  @java.lang.Override
  public com.dimajix.shaded.protobuf.Parser getParserForType() {
    return PARSER;
  }

  @java.lang.Override
  public com.dimajix.flowman.kernel.proto.target.TargetDetails getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy