assertArgumentNotNull("part", part);
assertArgumentNotNull("text", text);
assertArgumentNotNull("textType", textType);
final String encoding = getTextEncoding();
final ByteBuffer buffer = prepareTextByteBuffer(text, encoding);
final DataSource source = prepareTextDataSource(buffer);
try {
part.setDataHandler(createDataHandler(source));
part.setHeader("Content-Type", "text/" + textType.code() + "; charset=\"" + encoding + "\"");
} catch (MessagingException e) {
throw new SMailMessageSettingFailureException("Failed to set headers: " + encoding, e);
}
return part;
}