private void HandleValidateEmailMsg(ValidateEmailMsg msg)
 {
     Persist(msg, validateEmailMsg =>
     {
         var result = _emailValidator.Execute(_mapper.Map <EmailMessage>(msg.Email));
         if (result.IsSuccess)
         {
             var emailQualifyMsg = new EmailQualifyMsg(
                 validateEmailMsg.RequestId,
                 validateEmailMsg.Email,
                 validateEmailMsg.MessageType
                 );
             Context.Parent.Tell(emailQualifyMsg, Self);
         }
         else
         {
             var emailQualifyMsg = new EmailDisqualifiedMsg(
                 validateEmailMsg.RequestId,
                 validateEmailMsg.Email,
                 validateEmailMsg.MessageType,
                 result.FailureReasons
                 );
             Context.Parent.Tell(emailQualifyMsg, Self);
         }
     });
 }
 /// <summary>
 /// Instructs MessageValidationActor to validate email
 /// after it as been categorized.
 /// </summary>
 /// <param name="msg"></param>
 private void HandleEmailResolvedMsg(EmailResolvedMsg msg)
 {
     Persist(msg, emailResolvedMsg =>
     {
         var validateEmailMsg = new ValidateEmailMsg(
             requestId: emailResolvedMsg.RequestId,
             email: emailResolvedMsg.Email,
             messageType: emailResolvedMsg.MessageType
             );
         _messageValidationActor.Tell(validateEmailMsg, Self);
     });
 }