private async Task <Email> ProcessEmailResponseAsync(EmailResponse response) { if (response is null) { throw new ArgumentNullException(nameof(response)); } var email = new Email { Text = response.Text, Html = response.Html, Subject = response.Subject, }; email.AddSenders(response.From); email.AddRecipients(response.To); email.AddAttachments(await ExtractAttachmentsMetadataAsync(response).ConfigureAwait(false)); return(email); }