private function performHead($Url)
 {
     $res = wp_remote_head($Url);
     //echo '<pre>';var_dump( wp_remote_retrieve_headers($res));
     if (is_wp_error($res)) {
         // WordPress had some error that I do not know about
         throw new UnknownErrorException($res);
     } else {
         $response = new ApiResponse();
         $response->setHttpCode(wp_remote_retrieve_response_code($res));
         $response->setHeaders(wp_remote_retrieve_headers($res));
         // $response->setResponse( wp_remote_retrieve_body( $res ) );
         if ($response->getHttpCode() == '400') {
             // 400 Bad request when there was a problem with the request
             throw new BadRequestException($Url, $response);
         } else {
             if ($response->getHttpCode() == '401') {
                 // 401 Unauthorized when you don't provide a valid key
                 throw new UnauthorizedRequestException();
             } else {
                 if ($response->getHttpCode() == '500') {
                     // 500 Internal Server Error
                     throw new InternalServerErrorException();
                 }
             }
         }
         return $response;
     }
 }