class ComputationTargetRequirement extends ComputationTargetReference {

  public static ComputationTargetRequirement of(final ExternalId identifier) {
    return new ComputationTargetRequirement(ComputationTargetType.PRIMITIVE, identifier);
  }

  public  ComputationTargetRequirement(final ComputationTargetType targetType, final ExternalId id);
  public  ComputationTargetRequirement(final ComputationTargetType targetType, final ExternalIdBundle bundle);
    ComputationTargetRequirement(final ComputationTargetType targetType, final ExternalIdBundle bundle, final ComputationTargetReference parent);
  private  ComputationTargetRequirement(final ComputationTargetReference parent, final ComputationTargetType type, final ExternalIdBundle identifiers);

}