internal static PerformanceCounterLib GetPerformanceCounterLib(string machineName, CultureInfo culture)
        {
            SharedUtils.CheckEnvironment();
            string lcid = culture.LCID.ToString("X3", CultureInfo.InvariantCulture);

            if (machineName.CompareTo(".") == 0)
            {
                machineName = ComputerName.ToLower(CultureInfo.InvariantCulture);
            }
            else
            {
                machineName = machineName.ToLower(CultureInfo.InvariantCulture);
            }
            if (libraryTable == null)
            {
                lock (InternalSyncObject)
                {
                    if (libraryTable == null)
                    {
                        libraryTable = new Hashtable();
                    }
                }
            }
            string key = machineName + ":" + lcid;

            if (libraryTable.Contains(key))
            {
                return((PerformanceCounterLib)libraryTable[key]);
            }
            PerformanceCounterLib lib = new PerformanceCounterLib(machineName, lcid);

            libraryTable[key] = lib;
            return(lib);
        }