circular logic - we need the mailbox to find the last message so move the code block back where it was, and only set a direct mid if one was specified.