Description
TopCmdHandler is missing a null check when retrieving the message content, i.e. the InputStream can be null, which results in an NPE down the line. Admittedly this is a rare case, I only observed this during heavy load testing.
On closer inspection it turns out that TopCmdHandler duplicates a major portion of code from RetrCmdHandler, but with subtle differences such as the null check mentioned above.
I propose to refactor the two classes to make them share the code, and provide unit tests for all possible error/success cases.