if (part instanceof MimeMessage) {
stream = ((MimeMessage) part).getContentStream();
} else if (part instanceof MimeBodyPart) {
stream = ((MimeBodyPart) part).getContentStream();
} else {
throw new MessagingException("Unknown part");
}
String encoding = part.getEncoding();
return encoding == null ? stream : MimeUtility.decode(stream, encoding);
} catch (MessagingException e) {
throw (IOException) new IOException(e.getMessage()).initCause(e);