Using intermediate and boundary message events to receive messages
You can include an intermediate message event in your process when you want to model a
message event that is received during execution of a process. When the process execution reaches an
intermediate message event, if a matching message is stored in the system, it is passed to the
message event, otherwise, further execution along that path is blocked until an incoming message
arrives that matches.