public SimpleMailboxMessage build() {
Preconditions.checkNotNull(messageId, "messageId is required");
Preconditions.checkNotNull(internalDate, "internalDate is required");
Preconditions.checkNotNull(size, "size is required");
Preconditions.checkNotNull(bodyStartOctet, "bodyStartOctet is required");
Preconditions.checkNotNull(content, "content is required");
Preconditions.checkNotNull(flags, "flags is required");
Preconditions.checkNotNull(propertyBuilder, "propertyBuilder is required");
Preconditions.checkNotNull(mailboxId, "mailboxId is required");
SimpleMailboxMessage simpleMailboxMessage = new SimpleMailboxMessage(messageId, internalDate, size,
bodyStartOctet, content, flags, propertyBuilder, mailboxId, attachments.build());
if (uid.isPresent()) {
simpleMailboxMessage.setUid(uid.get());
}
if (modseq.isPresent()) {
simpleMailboxMessage.setModSeq(modseq.get());
}
return simpleMailboxMessage;
}
}