# Class TCollaboration OptimaJet.Workflow.BpmnPlugin.Model.TCollaboration Namespace: [OptimaJet.Workflow.BpmnPlugin.Model](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/) ```csharp public class TCollaboration : TRootElement ``` ## Type Hierarchy - [TBaseElement](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/TBaseElement/) - [TRootElement](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/TRootElement/) - TCollaboration Current type - [TChoreography](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/TChoreography/) - [TGlobalChoreographyTask](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/TGlobalChoreographyTask/) - [TGlobalConversation](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/TGlobalConversation/) ## Constructors `public TCollaboration()` Initializes a new instance of the [TCollaboration](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/TCollaboration/) class. ## Properties `public Collection Participant { get; }` `public bool ParticipantSpecified { get; }` Gets a value indicating whether the Participant collection is empty. `public Collection MessageFlow { get; }` `public bool MessageFlowSpecified { get; }` Gets a value indicating whether the MessageFlow collection is empty. `public Collection Artifact { get; }` `public bool ArtifactSpecified { get; }` Gets a value indicating whether the Artifact collection is empty. `public Collection ConversationNode { get; }` `public bool ConversationNodeSpecified { get; }` Gets a value indicating whether the ConversationNode collection is empty. `public Collection ConversationAssociation { get; }` `public bool ConversationAssociationSpecified { get; }` Gets a value indicating whether the ConversationAssociation collection is empty. `public Collection ParticipantAssociation { get; }` `public bool ParticipantAssociationSpecified { get; }` Gets a value indicating whether the ParticipantAssociation collection is empty. `public Collection MessageFlowAssociation { get; }` `public bool MessageFlowAssociationSpecified { get; }` Gets a value indicating whether the MessageFlowAssociation collection is empty. `public Collection CorrelationKey { get; }` `public bool CorrelationKeySpecified { get; }` Gets a value indicating whether the CorrelationKey collection is empty. `public Collection ChoreographyRef { get; }` `public bool ChoreographyRefSpecified { get; }` Gets a value indicating whether the ChoreographyRef collection is empty. `public Collection ConversationLink { get; }` `public bool ConversationLinkSpecified { get; }` Gets a value indicating whether the ConversationLink collection is empty. `public string Name { get; set; }` `public bool IsClosed { get; set; }` [Previous TChoreographyTask](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/TChoreographyTask/) [Next TCompensateEventDefinition](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/TCompensateEventDefinition/)