public function setHttpClient($client)
    {
        if ($client instanceof CheddarGetter_Client_AdapterInterface) {
            $this->_httpClient = $client;
            return $this;
        }

        // Allows passing the curl resource or the Zend_Http_Client for BC reasons
        if ($client instanceof Zend_Http_Client) {
            $this->_httpClient = new CheddarGetter_Client_ZendAdapter($client);
            return $this;
        }
        if (is_resource($client) && get_resource_type($client) == 'curl') {
            $this->_httpClient = new CheddarGetter_Client_CurlAdapter($client);
            return $this;
        }

        throw new CheddarGetter_Client_Exception("httpClient can only be an instance of CheddarGetter_Client_AdapterInterface or Zend_Http_Client or a php curl resource.", CheddarGetter_Client_Exception::USAGE_INVALID);
    }