public SiteUserManager(
            SiteContext currentSite,
            UserEvents userEventHandlers,
            IEnumerable <IHandleUserEmailConfirmed> emailConfirmedHandlers,
            IUserCommands userCommands,
            IUserQueries userQueries,
            IUserStore <TUser> store,
            IOptions <IdentityOptions> optionsAccessor,
            IOptions <MultiTenantOptions> multiTenantOptionsAccessor,
            INewUserDisplayNameResolver displayNameResolver,
            IPasswordHasher <TUser> passwordHasher,
            IEnumerable <IUserValidator <TUser> > userValidators,
            IEnumerable <IPasswordValidator <TUser> > passwordValidators,
            ILookupNormalizer lookupNormalizer,
            IdentityErrorDescriber errors,
            IServiceProvider serviceProvider,
            ILogger <UserManager <TUser> > logger,
            IHttpContextAccessor contextAccessor)
            : base(
                store,
                optionsAccessor,
                passwordHasher,
                userValidators,
                passwordValidators,
                lookupNormalizer,
                errors,
                serviceProvider,
                logger)
        {
            identityOptions = optionsAccessor.Value;
            userStore       = store;

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

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

            siteSettings            = currentSite;
            multiTenantOptions      = multiTenantOptionsAccessor.Value;
            this.contextAccessor    = contextAccessor;
            httpContext             = contextAccessor?.HttpContext;
            eventHandlers           = userEventHandlers;
            this.passwordHasher     = passwordHasher;
            _emailConfirmedHandlers = emailConfirmedHandlers;
            _displayNameResolver    = displayNameResolver;
        }