protected function makeCall($type, $url, $params, $options, $headers) {
        // Throw exception when adapter is not set
        if (!isset($this->adapter)) {
            throw new NoAdapterException('No adapter set');
        }

        // Remove potential leading slashes
        if (substr($url, 0, 1) === '/') {
            $url = substr($url, 1);
        }

        // Call adapter to make request
        $result = $this->adapter->doRequest($type, $this->baseURL . $url, $params, $options, $headers);

        // Run the the response handler
        return $this->runResponseHandler($result, $type, $url, $params);
    }