### Question:
MSEmail implements IApplicationData, Serializable { public static MSEmailBuilder builder() { return new MSEmailBuilder(); } protected  MSEmail(String subject, MSEmailHeader header, MSEmailBody body, Set<MSAttachement> attachments,
			MSMeetingRequest meetingRequest, MSMessageClass messageClass, MSImportance importance,
			boolean read, boolean starred, boolean answered); static MSEmailBuilder builder(); @Override PIMDataType getType(); MSAddress getDisplayTo(); List<MSAddress> getFrom(); List<MSAddress> getTo(); List<MSAddress> getCc(); List<MSAddress> getReplyTo(); String getSubject(); Date getDate(); MSEmailHeader getHeader(); MSEmailBody getBody(); Set<MSAttachement> getAttachments(); MSMeetingRequest getMeetingRequest(); MSMessageClass getMessageClass(); MSImportance getImportance(); boolean isRead(); boolean isStarred(); boolean isAnswered(); @Override int hashCode(); @Override boolean equals(Object obj);  }### Answer:
@Test(expected=IllegalStateException.class) public void testMSEmailBuilderRequireBody() { MSEmail.builder() .header(MSEmailHeader.builder().build()) .build(); }
@Test(expected=IllegalStateException.class) public void testMSEmailBuilderRequireHeader() { MSEmail.builder() .body(MSEmailBody.builder() .mimeData(Optional.of(new SerializableInputStream("text"))) .bodyType(MSEmailBodyType.PlainText) .estimatedDataSize(0) .charset(Charsets.UTF_8) .truncated(false) .build()) .build(); }