It is a partial flow . It could do (task1 and task2) or (task1 and task3 and task4) but it couldn't reach task5. When I deleted one of {(task2) , (task3 and task4)} , it could reach task5.
How did it reach task5, if I didn't delete anything.
The gateway before Task 5 represents an AND-join, so all incoming paths must be executed. Since you split the paths Task 2 and {Task 3, Task 4} using an XOR-split, only one of these paths is executed, but never both. You could merge the two paths into one using an XOR-join (another ExclusiveGateway) and connecting that to the ParallelGateway in front of Task 5.