/**
  * load fresh proxy from gimmy proxy api.
  *
  * @todo: error handling
  */
 private function loadFreshProxy()
 {
     if (is_null($this->proxies)) {
         $this->proxies = new LinkedQueue();
     }
     if ($this->last_proxy + $this->max_reload_rate > time()) {
         //do not load new one because reload limit is violated
         return;
     }
     $this->last_proxy = time();
     $raw_return = file_get_contents('http://gimmeproxy.com/api/getProxy');
     $json = json_decode($raw_return, true);
     $this->proxies->enqueue(new Proxy($json['ip'], $json['port'], ProxyType::stringFactory($json['type']), 0, 0, 0, 0));
 }