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 ) ; }
Instantiates the given activity stack under this execution . Sets the variables for the execution responsible to execute the most deeply nested activity .