I am prototyping a flow where a JSON will be split to fragments then after some intermediate processing, will be routed to Wait and Notify processors (basically they diverge after some time after some number of processes). On the side of Wait, I want all fragments to be released almost simultaneously once Notify that the last fragment ( max(fragment.index) = fragment.count - 1 ) have arrived.

My assumption is that fragment.index follows the processing sequence right after the SplitJSON (is this correct?). If the previous assumption is correct, let us assume that the intermediate processes after SplitJSON up to Notify preserves such ordering.
How do I configure Wait and Notify for it to work this way? Is there a better solution than what I am thinking?