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.