# Class TSubChoreography OptimaJet.Workflow.BpmnPlugin.Model.TSubChoreography Namespace: [OptimaJet.Workflow.BpmnPlugin.Model](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/) ```csharp public class TSubChoreography : TChoreographyActivity ``` ## Type Hierarchy - [TBaseElement](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/TBaseElement/) - [TFlowElement](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/TFlowElement/) - [TFlowNode](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/TFlowNode/) - [TChoreographyActivity](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/TChoreographyActivity/) - TSubChoreography Current type ## Constructors `public TSubChoreography()` Initializes a new instance of the [TSubChoreography](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/TSubChoreography/) class. ## Properties `public Collection FlowElement { get; }` `public bool FlowElementSpecified { get; }` Gets a value indicating whether the FlowElement collection is empty. `public Collection Artifact { get; }` `public bool ArtifactSpecified { get; }` Gets a value indicating whether the Artifact collection is empty. [Previous TStartEvent](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/TStartEvent/) [Next TSubConversation](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/TSubConversation/)