public Email Build() { var email = new Email(_emailTemplate); email.SetPrivateProperty(x => x.Id, _id); if (_assignIdsToParts) email.Parts.Each(part => part.SetPrivateProperty(x => x.Id, NextPartId)); email.SetPrivateProperty(x => x.State, _state); email.SetPrivateProperty(x => x.FromAddress, _fromAddress); email.SetPrivateProperty(x => x.Subject, _subject); var emailRecipients = (ICollection<EmailRecipient>)email.EmailRecipients; _recipients.Each(r => emailRecipients.Add(new EmailRecipient(email, r))); return email; }