EventSubscriptionDeclaration signalDefinition = parseSignalEventDefinition(signalEventDefinitionElement);
activityBehavior = new IntermediateThrowSignalEventActivityBehavior(signalDefinition);
} else if(compensateEventDefinitionElement != null) {
CompensateEventDefinition compensateEventDefinition = parseCompensateEventDefinition(compensateEventDefinitionElement, scopeElement);
activityBehavior = new IntermediateThrowCompensationEventActivityBehavior(compensateEventDefinition);
// IntermediateThrowNoneEventActivityBehavior
} else if (otherUnsupportedThrowingIntermediateEvent) {
addError("Unsupported intermediate throw event type", intermediateEventElement);
} else { // None intermediate event