# Class TMultiInstanceLoopCharacteristics OptimaJet.Workflow.BpmnPlugin.Model.TMultiInstanceLoopCharacteristics Namespace: [OptimaJet.Workflow.BpmnPlugin.Model](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/) ```csharp public class TMultiInstanceLoopCharacteristics : TLoopCharacteristics ``` ## Type Hierarchy - [TBaseElement](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/TBaseElement/) - [TLoopCharacteristics](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/TLoopCharacteristics/) - TMultiInstanceLoopCharacteristics Current type ## Constructors `public TMultiInstanceLoopCharacteristics()` Initializes a new instance of the [TMultiInstanceLoopCharacteristics](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/TMultiInstanceLoopCharacteristics/) class. ## Properties `public TExpression LoopCardinality { get; set; }` `public XmlQualifiedName LoopDataInputRef { get; set; }` `public XmlQualifiedName LoopDataOutputRef { get; set; }` `public TDataInput InputDataItem { get; set; }` `public TDataOutput OutputDataItem { get; set; }` `public Collection ComplexBehaviorDefinition { get; }` `public bool ComplexBehaviorDefinitionSpecified { get; }` Gets a value indicating whether the ComplexBehaviorDefinition collection is empty. `public TExpression CompletionCondition { get; set; }` `public bool IsSequential { get; set; }` `public TMultiInstanceFlowCondition Behavior { get; set; }` `public XmlQualifiedName OneBehaviorEventRef { get; set; }` `public XmlQualifiedName NoneBehaviorEventRef { get; set; }` [Previous TMultiInstanceFlowCondition](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/TMultiInstanceFlowCondition/) [Next TOperation](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Model/TOperation/)