I've pushed a commit that moves getContentPreview() as static method to the Message class, moves my preview generation to MimeMessage and makes it use calculateContentPreview(). Let me know whether this is among the lines you were thinking.

I've left getMessagePreview() here, but it only deals with the subject + preview concatenation now.