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