/// <summary>
        /// Sends 'New researcher account submitted' message to a store owner
        /// </summary>
        /// <param name="user">User</param>
        /// <param name="researcher">Researcher</param>
        /// <param name="languageId">Message language identifier</param>
        /// <returns>Queued email identifier</returns>
        public virtual IList <int> SendNewResearcherAccountApplyStoreOwnerNotification(User user, Researcher researcher, int languageId)
        {
            if (user == null)
            {
                throw new ArgumentNullException(nameof(user));
            }

            if (researcher == null)
            {
                throw new ArgumentNullException(nameof(researcher));
            }

            //var store = _storeContext.CurrentStore;
            //languageId = EnsureLanguageIsActive(languageId, store.Id);

            //var messageTemplates = GetActiveMessageTemplates(MessageTemplateSystemNames.NewResearcherAccountApplyStoreOwnerNotification, store.Id);
            var messageTemplates = GetActiveMessageTemplates(MessageTemplateSystemNames.NewResearcherAccountApplyStoreOwnerNotification, 0);

            if (!messageTemplates.Any())
            {
                return(new List <int>());
            }

            //tokens
            var commonTokens = new List <Token>();

            _messageTokenProvider.AddUserTokens(commonTokens, user);
            _messageTokenProvider.AddResearcherTokens(commonTokens, researcher);

            return(messageTemplates.Select(messageTemplate =>
            {
                //email account
                var emailAccount = GetEmailAccountOfMessageTemplate(messageTemplate, languageId);

                var tokens = new List <Token>(commonTokens);
                //_messageTokenProvider.AddStoreTokens(tokens, store, emailAccount);
                _messageTokenProvider.AddUserTokens(tokens, user);

                //event notification
                _eventPublisher.MessageTokensAdded(messageTemplate, tokens);

                var toEmail = emailAccount.Email;
                var toName = emailAccount.DisplayName;

                return SendNotification(messageTemplate, emailAccount, languageId, tokens, toEmail, toName);
            }).ToList());
        }