Create the following execution structure:
- a process instance with two non-scope, concurrent child executions
- the process instance also has a child event-scope execution (e.g. due to a previously completed subprocess with compensation handlers)
Completing the process instance, i.e. both concurrent children reach an end event, does not end the process instance. The end state is PI <- EVT_SCOPE_EXECUTION where PI has no activity.
When the first concurrent execution ends, the tree should be compacted but it does not happen due to the event scope execution. Failing test case: org.camunda.bpm.engine.test.api.runtime.ProcessInstanceModificationEventTest.testStartBeforeCancelEndEvent (re-add assertions there)