I’m wondering why the simulator treats plain Tasks and Receive Tasks differently when simulating boundary events. Here’s a demo:
The boundary event on the vanilla task behaves exactly as I expect, sending one token along the event flow.
By contrast, when I fire the boundary event on the receive task, the receive task emits two tokens. I expect it to behave the same as the vanilla task and emit only one, along the event flow.
The token simulator does not read code, it only simulates according to the button clicked.
Probably in the receive task flow, the simulator understands that the message boundary event and the receive task itself have the same global message reference, and so when simulating the correlation, it ends up simulating both at the same time.
This seems to me to be a bug in the plugin itself.