docs: public void executeActivitiesConcurrent(List<PvmActivity> activityStack, PvmActivity targetActivity,
                                            PvmTransition targetTransition, Map<String, Object> variables, Map<String, Object> localVariables,
                                            boolean skipCustomListeners, boolean skipIoMappings) {
  
  
      ScopeImpl flowScope = null;
      if (!activityStack.isEmpty()) {
        flowScope = activityStack.get(0).getFlowScope();
      } else if (targetActivity != null) {
        flowScope = targetActivity.getFlowScope();
      } else if (targetTransition != null) {
        flowScope = targetTransition.getSource().getFlowScope();
      }
  
      PvmExecutionImpl propagatingExecution = null;
      if (flowScope.getActivityBehavior() instanceof ModificationObserverBehavior) {
        ModificationObserverBehavior flowScopeBehavior = (ModificationObserverBehavior) flowScope.getActivityBehavior();
        propagatingExecution = (PvmExecutionImpl) flowScopeBehavior.createInnerInstance(this);
      } else {
        propagatingExecution = createConcurrentExecution();
      }
  
      propagatingExecution.executeActivities(activityStack, targetActivity, targetTransition, variables, localVariables,
        skipCustomListeners, skipIoMappings);
    }