public MailMessageWrapper WithSubject(string subjectTemplate) { if (IsSubjectSet) { throw new InvalidOperationException("Subject has already been set"); } var populatedSubject = TemplateParser.ReplaceTokens(subjectTemplate, TokenValues); ContainedMailMessage.Subject = populatedSubject; IsSubjectSet = true; return(this); }