def METHOD_NAME(requests):
    """Record and serialize GCP API call answers.
    Args:
        requests (dict): A dictionary to store a copy of all requests and
            responses in, after unpickling.
    Returns:
        function: Decorator function.
    """
    def decorate(f):
        """Replay GCP API call answers.
        Args:
            f (function): Function to decorate
        Returns:
            function: Wrapped function.
        """
        @functools.wraps(f)
        def replay_wrapper(self, request, *args, **kwargs):
            """Replay and deserialize GCP API call answers.
            Args:
                self (object): Self of the caller.
                request (HttpRequest): The HttpRequest object to execute.
                **args (list): Additional args to pass through to function.
                **kwargs (dict): Additional key word args to pass through to
                    function.
            Returns:
                object: The result object from the previous recording.
            Raises:
                Exception: Any exception raised during the previous recording.
            """
            replay_file = os.environ.get(REPLAY_ENVIRONMENT_VAR, None)
            if not replay_file:
                return f(self, request, *args, **kwargs)
            if not requests:
                LOGGER.info('Loading replay file %s.', replay_file)
                with open(replay_file, 'rb') as infile:
                    unpickler = pickle.Unpickler(infile)
                    requests.update(unpickler.load())
            request_key = _key_from_request(request)
            if request_key in requests:
                results = requests[request_key]
                # Pull the first result from the queue.
                obj = results.popleft()
                if obj['raised']:
                    raise obj['result'](*obj['exception_args'])
                return obj['result']
            else:
                LOGGER.warning(
                    'Request URI %s with body %s not found in recorded '
                    'requests, executing live http request instead.',
                    request.uri, request.body)
                return f(self, request, *args, **kwargs)
        return replay_wrapper
    return decorate