=== Message

Split this method into two, one handling parameters check and the other handling the iterator.

