sS javaMail_messageContentToText(O content) { if (isString(content)) ret content; if (content instanceof Multipart) { Multipart mp = cast content; int n = mp.getCount(); new L l; for i to n: { Part part = mp.getBodyPart(i); S type = part.getContentType(); O partContent = part.getContent(); l.add(type + " / " + className(partContent)); l.add(indentx(javaMail_messageContentToText(partContent))); } ret joinWithEmptyLines(l); } ret "Unknown content type: " + className(content); }