public function selectSignature($signature) {

        if ( !is_integer($signature) || !isset($this->signatures[$signature]) ) {

            throw new InvalidArgumentException("Invalid RpcMethod signature reference");

        }

        $this->current_signature = $signature;

        return $this;

    }