public function removeTransaction(TransactionInterface $transaction)
    {
        if (!isset($this->handles[$transaction])) {
            throw new AdapterException('Transaction not registered');
        }

        $handle = $this->handles[$transaction];
        $this->handles->detach($transaction);
        $info = curl_getinfo($handle);
        $code = curl_multi_remove_handle($this->multi, $handle);
        curl_close($handle);

        if ($code !== CURLM_OK) {
            MultiAdapter::throwMultiError($code);
        }

        return $info;
    }