docs: @Override
    @SuppressWarnings("unchecked")
    public void initialize() {
      LOG.initializeExecution(this);
  
      ScopeImpl scope = getScopeActivity();
      ensureParentInitialized();
  
      List<VariableDeclaration> variableDeclarations = (List<VariableDeclaration>) scope.getProperty(BpmnParse.PROPERTYNAME_VARIABLE_DECLARATIONS);
      if (variableDeclarations != null) {
        for (VariableDeclaration variableDeclaration : variableDeclarations) {
          variableDeclaration.initialize(this, parent);
        }
      }
  
      if (isProcessInstanceExecution()) {
        String initiatorVariableName = (String) processDefinition.getProperty(BpmnParse.PROPERTYNAME_INITIATOR_VARIABLE_NAME);
        if (initiatorVariableName != null) {
          String authenticatedUserId = Context.getCommandContext().getAuthenticatedUserId();
          setVariable(initiatorVariableName, authenticatedUserId);
        }
      }
  
      // create event subscriptions for the current scope
      for (EventSubscriptionDeclaration declaration : EventSubscriptionDeclaration.getDeclarationsForScope(scope).values()) {
        if(!declaration.isStartEvent()) {
          declaration.createSubscriptionForExecution(this);
        }
      }
    }