class SubMessage {

    public static Builder builder() {
        return new Builder();
    }

    @VisibleForTesting  SubMessage(ImmutableMap<String, String> headers,
                                  Optional<Emailer> from,
                                  ImmutableList<Emailer> to,
                                  ImmutableList<Emailer> cc,
                                  ImmutableList<Emailer> bcc,
                                  ImmutableList<Emailer> replyTo,
                                  String subject,
                                  Instant date,
                                  Optional<String> textBody,
                                  Optional<String> htmlBody,
                                  ImmutableList<Attachment> attachments,
                                  ImmutableMap<BlobId, SubMessage> attachedMessages);

}