<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def issue_request(self, *args, **kwargs):
 """Issue the wrapped request to the server. Parameters *args : list of objects Arguments to pass on to the request. Keyword Arguments timeout : float or None, optional Timeout after this amount of seconds (keyword argument). mid : None or int, optional Message identifier to use for the request message. If None, use either auto-incrementing value or no mid depending on the KATCP protocol version (mid's were only introduced with KATCP v5) and the value of the `use_mid` argument. Defaults to None. use_mid : bool Use a mid for the request if True. Returns ------- future object that resolves with an :class:`katcp.resource.KATCPReply` instance """

        timeout = kwargs.pop('timeout', None)
        if timeout is None:
            timeout = self.timeout_hint
        kwargs['timeout'] = timeout
        return self._client.wrapped_request(self.name, *args, **kwargs)