<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def future_get_request(self, name, update=None):
 """Get the request object. Check if we have information for this request, if not connect to server and update (if allowed). Parameters name : string Name of the request. update : bool or None, optional True allow inspect client to inspect katcp server if the request is not known. Returns ------- Request created by :meth:`request_factory` or None if request not found. Notes ----- Ensure that self.state.data_synced == True if yielding to future_get_request from a state-change callback, or a deadlock will occur. """

        obj = None
        exist = yield self.future_check_request(name, update)
        if exist:
            request_info = self._requests_index[name]
            obj = request_info.get('obj')
            if obj is None:
                obj = self.request_factory(**request_info)
                self._requests_index[name]['obj'] = obj

        raise tornado.gen.Return(obj)