public static void SendReturnedMessage(List <Person> peopleToCc, ProjectUpdateBatch projectUpdateBatch)
        {
            Check.Require(projectUpdateBatch.ProjectUpdateState == ProjectUpdateState.Returned, "Need to be in Returned state to send the Returned email!");
            var latestProjectUpdateHistorySubmitted = projectUpdateBatch.GetLatestProjectUpdateHistorySubmitted();
            var submitterPerson = latestProjectUpdateHistorySubmitted.UpdatePerson;
            var emailsToSendTo  = new List <string> {
                submitterPerson.Email
            };

            var personNames          = submitterPerson.GetFullNameFirstLast();
            var primaryContactPerson = projectUpdateBatch.Project.GetPrimaryContact();

            if (primaryContactPerson != null && !String.Equals(primaryContactPerson.Email, submitterPerson.Email, StringComparison.InvariantCultureIgnoreCase))
            {
                emailsToSendTo.Add(primaryContactPerson.Email);
                personNames += $" and {primaryContactPerson.GetFullNameFirstLast()}";
            }
            var contactsWhoCanManageProject = projectUpdateBatch.Project.GetContactsWhoCanManageProject();

            foreach (var contact in contactsWhoCanManageProject)
            {
                if (!string.Equals(contact.Email, submitterPerson.Email, StringComparison.InvariantCultureIgnoreCase) && (primaryContactPerson == null || !string.Equals(contact.Email, primaryContactPerson.Email, StringComparison.InvariantCultureIgnoreCase)))
                {
                    emailsToSendTo.Add(contact.Email);
                    personNames += $" and {contact.GetFullNameFirstLast()}";
                }
            }

            var returnerPerson  = projectUpdateBatch.GetLatestProjectUpdateHistoryReturned().UpdatePerson;
            var instructionsUrl = SitkaRoute <ProjectUpdateController> .BuildAbsoluteUrlHttpsFromExpression(x => x.Instructions(projectUpdateBatch.Project));

            var message = $@"
Dear {personNames},
<p>
    The update submitted for {FieldDefinitionEnum.Project.ToType().GetFieldDefinitionLabel()} {
                    projectUpdateBatch.Project.GetDisplayName()
                } on {latestProjectUpdateHistorySubmitted.TransitionDate.ToStringDate()} has been returned by {
                    returnerPerson.GetFullNameFirstLastAndOrg()
                }.
</p>
<p>
    <a href=""{instructionsUrl}"">View this {FieldDefinitionEnum.Project.ToType().GetFieldDefinitionLabel()} update</a>
</p>
<p>
    Please review this update and address the comments that {
                    returnerPerson.FirstName
                } left for you. If you have questions, please email: {returnerPerson.Email}
</p>
Thank you,<br />
{$"- {MultiTenantHelpers.GetToolDisplayName()} team"}
";

            var subject =
                $"The update for {FieldDefinitionEnum.Project.ToType().GetFieldDefinitionLabel()} {projectUpdateBatch.Project.GetDisplayName()} has been returned - please review and re-submit";
            var mailMessage = new MailMessage {
                Subject = subject, Body = message, IsBodyHtml = true
            };

            SendMessageAndLogNotificationForProjectUpdateTransition(projectUpdateBatch,
                                                                    mailMessage,
                                                                    emailsToSendTo,
                                                                    new List <string> {
                returnerPerson.Email
            },
                                                                    peopleToCc.Select(x => x.Email).ToList(),
                                                                    NotificationType.ProjectUpdateReturned);
        }