public virtual void SetImpersonatedUser(string impersonatedUser)
        {
            if (String.IsNullOrEmpty(impersonatedUser))
            {
                _httpContextAccessor.AddTicketToResponse(null);
                return;
            }

            var ticket    = GetOrCreateTicket();
            var newTicket = new FormsAuthenticationTicket(
                ticket.Version,
                ticket.Name,
                ticket.IssueDate,
                ticket.Expiration,
                false,
                impersonatedUser == null ? "" : ImpersonatingUserInfoPrefix + impersonatedUser,
                ticket.CookiePath);

            _httpContextAccessor.AddTicketToResponse(newTicket);
        }