/// <summary>
        /// Method translates ThreadWaitReason enumerator value into a String value.
        /// </summary>
        /// <param name="reason">ThreadWaitReason value that needs to be translated. </param>
        public static String ThreadWaitReasonToString(ThreadWaitReason reason)
        {
            switch (reason)
            {
            case ThreadWaitReason.EventPairHigh:
                return("EventPairHigh");

            case ThreadWaitReason.EventPairLow:
                return("EventPairLow");

            case ThreadWaitReason.ExecutionDelay:
                return("Execution Delay");

            case ThreadWaitReason.Executive:
                return("Executive");

            case ThreadWaitReason.FreePage:
                return("FreePage");

            case ThreadWaitReason.LpcReceive:
                return("LPC Recieve");

            case ThreadWaitReason.LpcReply:
                return("LPC Reply");

            case ThreadWaitReason.PageIn:
                return("Page In");

            case ThreadWaitReason.PageOut:
                return("Page Out");

            case ThreadWaitReason.Suspended:
                return("Suspended");

            case ThreadWaitReason.SystemAllocation:
                return("System Allocation");

            case ThreadWaitReason.UserRequest:
                return("User Request");

            case ThreadWaitReason.VirtualMemory:
                return("Virtual Memory");

            case ThreadWaitReason.Unknown:
            default:
                return("Unknown");
            }
        }
 private object ToString(ThreadWaitReason reason)
 {
     switch (reason)
     {
         case ThreadWaitReason.Executive: return "Executive";
         case ThreadWaitReason.FreePage: return "FreePage";
         case ThreadWaitReason.PageIn: return "PageIn";
         case ThreadWaitReason.SystemAllocation: return "SystemAllocation";
         case ThreadWaitReason.ExecutionDelay: return "ExecutionDelay";
         case ThreadWaitReason.Suspended: return "Suspended";
         case ThreadWaitReason.UserRequest: return "UserRequest";
         case ThreadWaitReason.EventPairHigh: return "EventPairHigh";
         case ThreadWaitReason.EventPairLow: return "EventPairLow";
         case ThreadWaitReason.LpcReceive: return "LpcReceive";
         case ThreadWaitReason.LpcReply: return "LpcReply";
         case ThreadWaitReason.VirtualMemory: return "VirtualMemory";
         case ThreadWaitReason.PageOut: return "PageOut";
         case ThreadWaitReason.Unknown: return "Unknown";
         default: return ((int)reason).ToString();
     }
 }