public static void Load(List <String> proxies)
        {
            // Housekeeping
            Clear(proxies.Count);

            // Creating Randomizer for adding proxies to the list
            Random randomizer = new Random();

            // Adding proxies from the file
            foreach (string proxyData in proxies)
            {
                if (String.IsNullOrEmpty(proxyData))
                {
                    continue;
                }

                // Splitting String for it's data
                string[] proxyInfo = proxyData.Split(':');

                ProxyInfo pInfo;

                // Checking for "No Login and Password Proxy"
                if (proxyInfo.Length == 2)
                {
                    // Building Proxy Info Instance - With no Credentials
                    pInfo = new ProxyInfo()
                    {
                        ip   = proxyInfo[0],
                        port = proxyInfo[1]
                    };
                }
                else // Proxy Length expected is 4 (Address,Port,Username,Password)
                {
                    // Building Proxy Info Instance - With Credentials
                    pInfo = new ProxyInfo()
                    {
                        ip   = proxyInfo[0],
                        port = proxyInfo[1],
                        user = proxyInfo[2],
                        psw  = proxyInfo[3]
                    };
                }

                // Sanity Check
                if (_loadedProxies.Count > 0)
                {
                    // Adding Proxy Info to the List
                    _loadedProxies.Insert(randomizer.Next(_loadedProxies.Count), pInfo);
                }
                else
                {
                    _loadedProxies.Add(pInfo);
                }
            }
        }
        public static void Load (List<String> proxies)
        {
            // Housekeeping
            Clear (proxies.Count);

            // Creating Randomizer for adding proxies to the list
            Random randomizer = new Random ();
            
            // Adding proxies from the file
            foreach (string proxyData in proxies)
            {

				if (String.IsNullOrEmpty (proxyData))
					continue;

                // Splitting String for it's data
                string[] proxyInfo = proxyData.Split (':');

                ProxyInfo pInfo;

                // Checking for "No Login and Password Proxy"
                if (proxyInfo.Length == 2)
                {
                    // Building Proxy Info Instance - With no Credentials
                    pInfo = new ProxyInfo ()
                    {
                        ip   = proxyInfo[0],
                        port = proxyInfo[1]
                    };                    
                }
                else // Proxy Length expected is 4 (Address,Port,Username,Password)
                {
                    // Building Proxy Info Instance - With Credentials
                    pInfo = new ProxyInfo ()
                    {
                        ip   = proxyInfo[0],
                        port = proxyInfo[1],
                        user = proxyInfo[2],
                        psw  = proxyInfo[3]
                    };                    
                }

                // Sanity Check
                if (_loadedProxies.Count > 0)
                {

                    // Adding Proxy Info to the List
                    _loadedProxies.Insert (randomizer.Next (_loadedProxies.Count), pInfo);
                }
                else
                {
                    _loadedProxies.Add (pInfo);
                }
            }
        }
        public static void IncrementUses(ProxyInfo pInfo)
        {
            pInfo.retries++;

            // remove failed proxies after a gratuitous attempt threshold
            if (pInfo.retries > 10)
            {
                _loadedProxies.Remove(pInfo);
                Console.WriteLine(String.Format("Removing bad proxy {0}:{1}", pInfo.ip, pInfo.port));
            }
        }
		public static void IncrementUses (ProxyInfo pInfo)
		{
			pInfo.retries++;

			// remove failed proxies after a gratuitous attempt threshold
			if (pInfo.retries > 10) 
			{
				_loadedProxies.Remove (pInfo);
				Console.WriteLine (String.Format ("Removing bad proxy {0}:{1}", pInfo.ip, pInfo.port));
			}
		}