Here is a BPMN example of the pattern Synchronizing Merge.
The instance flows from all the Split’s unconditional transitions. The instance also flows through any conditional transitions that evaluate “true” during runtime.
In the figure, here are 3 transitions coming into the Synchronize activity on the right. The default behavior is to have the instance not continue beyond the Synchronize activity until all the valid transitions leaving the Split activity reach it. This marshalling point (diamond with a “-”) is called a Join or Junction activity. Once again, suppose that the order is not being paid using credit. During runtime, the BPM server automatically detects this and knows to wait for only 2 out of the 3 transitions coming into the Synchronize activity (the transitions coming from the Check Inventory and Calculate Shipping Charge activities) before continuing. If the order is being paid by credit, the Synchronize activity will automatically wait for all three transitions during runtime.