Parallel Multinstance Behavior marks Prozessinstance as finished

I made a very simple process containing a Parallel Multinstance Subprocess which generates a usertask multiple times. After this subprocess there is another Usertask.
If I set a completion condition, so that only one of these tasks have to be completed in order to continue the process, the whole processinstance will be marked as finished while finishing the subprocess, although there is still that last usertask active.

I debugged this behavior and found, that in ParallelMultiInstanceActivityBehavior the remaining multinstance-parts are deleted by:

“((PvmExecutionImpl)childExecution).deleteCascade(“Multi instance completion condition satisfied.”);”

and this action fires a HistoryEvent for ProcessEnd. In my opinion there is an error in the method getScope() of PvmAtomicOperationDeleteCascadeFireActivityEnd. This methode gets the scope of the parent recursively till the activity is not null. In this case this means, it will come up with the Processinstance itself as the multiinstance scopes are all inactive and have no activity. And then the Listeners of this parent processinstance will be executed including the HistoryEvent for ProcessEnd

I hope this is understandable? What do you think of this matter? I include my Testprocess to this post.

Process:

<?xml version="1.0" encoding="UTF-8"?>

<bpmn:definitions xmlns:bpmn=“http://www.omg.org/spec/BPMN/20100524/MODEL” xmlns:bpmndi=“http://www.omg.org/spec/BPMN/20100524/DI” xmlns:dc=“http://www.omg.org/spec/DD/20100524/DC” xmlns:camunda=“http://camunda.org/schema/1.0/bpmn” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xmlns:di=“http://www.omg.org/spec/DD/20100524/DI” id=“Definitions_0mttj40” targetNamespace=“http://bpmn.io/schema/bpmn” exporter=“Camunda Modeler” exporterVersion=“3.0.1”>
<bpmn:process id=“MultiInstanceTest” name=“MultiInstanceTest” isExecutable=“true” camunda:versionTag=“1.0”>
<bpmn:startEvent id=“StartEvent_1”>
bpmn:outgoingSequenceFlow_0407sh7</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:sequenceFlow id=“SequenceFlow_0407sh7” sourceRef=“StartEvent_1” targetRef=“Task_0543nka” />
<bpmn:userTask id=“Task_0543nka” name=“Task1” camunda:candidateGroups=“ADMIN”>
bpmn:incomingSequenceFlow_0407sh7</bpmn:incoming>
bpmn:outgoingSequenceFlow_09c47do</bpmn:outgoing>
</bpmn:userTask>
<bpmn:subProcess id=“SubProcess_08jxlpc”>
bpmn:incomingSequenceFlow_09c47do</bpmn:incoming>
bpmn:outgoingSequenceFlow_1xj6s51</bpmn:outgoing>
<bpmn:multiInstanceLoopCharacteristics camunda:asyncBefore=“true”>
<bpmn:loopCardinality xsi:type=“bpmn:tFormalExpression”>2</bpmn:loopCardinality>
<bpmn:completionCondition xsi:type=“bpmn:tFormalExpression”>${nrOfCompletedInstances == 1}</bpmn:completionCondition>
</bpmn:multiInstanceLoopCharacteristics>
<bpmn:userTask id=“Task_0or3zs1” name=“MultiTask”>
bpmn:incomingSequenceFlow_0gcsq0x</bpmn:incoming>
bpmn:outgoingSequenceFlow_1unuppf</bpmn:outgoing>
</bpmn:userTask>
<bpmn:startEvent id=“StartEvent_0y9fta6”>
bpmn:outgoingSequenceFlow_0gcsq0x</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:sequenceFlow id=“SequenceFlow_0gcsq0x” sourceRef=“StartEvent_0y9fta6” targetRef=“Task_0or3zs1” />
<bpmn:endEvent id=“EndEvent_072azxe”>
bpmn:incomingSequenceFlow_1unuppf</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id=“SequenceFlow_1unuppf” sourceRef=“Task_0or3zs1” targetRef=“EndEvent_072azxe” />
</bpmn:subProcess>
<bpmn:sequenceFlow id=“SequenceFlow_09c47do” sourceRef=“Task_0543nka” targetRef=“SubProcess_08jxlpc” />
<bpmn:sequenceFlow id=“SequenceFlow_1xj6s51” sourceRef=“SubProcess_08jxlpc” targetRef=“Task_1adskce” />
<bpmn:userTask id=“Task_1adskce” name=“Task2” camunda:candidateGroups=“ADMIN”>
bpmn:incomingSequenceFlow_1xj6s51</bpmn:incoming>
bpmn:outgoingSequenceFlow_19uz83m</bpmn:outgoing>
</bpmn:userTask>
<bpmn:endEvent id=“EndEvent_0rhnrhu”>
bpmn:incomingSequenceFlow_19uz83m</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id=“SequenceFlow_19uz83m” sourceRef=“Task_1adskce” targetRef=“EndEvent_0rhnrhu” />
</bpmn:process>