protected function removeCall(Call $call)
    {
        $call->getProcedure()->removeCall($call);
        unset($this->callInvocationIndex[$call->getInvocationRequestId()]);
        unset($this->callRequestIndex[$call->getCallMessage()->getRequestId()]);
        if ($call->getCancelMessage()) {
            unset($this->callCancelIndex[$call->getCancelMessage()->getRequestId()]);
        }
        if ($call->getInterruptMessage()) {
            unset($this->callInterruptIndex[$call->getInterruptMessage()->getRequestId()]);
        }
    }