internal static void UpdateThreadWI(WindowsIdentity wi)
        {
            SecurityContext currentSecurityContextNoCreate = SecurityContext.GetCurrentSecurityContextNoCreate();

            if ((wi != null) && (currentSecurityContextNoCreate == null))
            {
                currentSecurityContextNoCreate = new SecurityContext();
                Thread.CurrentThread.ExecutionContext.SecurityContext = currentSecurityContextNoCreate;
            }
            if (currentSecurityContextNoCreate != null)
            {
                currentSecurityContextNoCreate.WindowsIdentity = wi;
            }
        }