the first message from the message queue. Removes it from the message queue so it will no longer be processed.
Exception if hasData is false.
See Implementation