I just commited some changes in Execution class to handle completion operations propagation to children executions.
Before, if an execution was creating other executions, when processingNodeState, the engine was looking for a completionOperation in the childExecution but it didn't exist. It was present in the parent execution. By now, when creating a childExecution, its completionOperations map is initialized to contain the parent node to call.
This first implementation is not completely good as the parent completionOperations map still contains the copied completionOperation. We have to find a way to remove it. It is not possible to remove it the first time we copy it in a child as maybe other children will need it.
Feel free to give remarks.
I comited a new test for this functionnality : ConcurrentExecutionTest