public virtual TerminateEndEventActivityBehavior CreateTerminateEndEventActivityBehavior(EndEvent endEvent) { bool terminateAll = false; bool terminateMultiInstance = false; if (endEvent.EventDefinitions != null && endEvent.EventDefinitions.Count > 0 && endEvent.EventDefinitions[0] is TerminateEventDefinition) { terminateAll = ((TerminateEventDefinition)endEvent.EventDefinitions[0]).TerminateAll; terminateMultiInstance = ((TerminateEventDefinition)endEvent.EventDefinitions[0]).TerminateMultiInstance; } var extTerminateAll = endEvent.GetExtensionElementAttributeValue(nameof(terminateAll)); bool.TryParse(extTerminateAll, out terminateAll); var extTerminateMul = endEvent.GetExtensionElementAttributeValue(nameof(terminateMultiInstance)); bool.TryParse(extTerminateMul, out terminateMultiInstance); TerminateEndEventActivityBehavior terminateEndEventActivityBehavior = new TerminateEndEventActivityBehavior { TerminateAll = terminateAll, TerminateMultiInstance = terminateMultiInstance }; return(terminateEndEventActivityBehavior); }