def run_callback(self):
        """Calls the callback_func, passing in the two positional arguments,
        conditionally waiting if the callback function hasn't been set yet.
        Meant to be run in a threadpool owned by the FutureCollection.

        Returns:
            None
        """

        if self._callback_func is not None:
            try:
                self._callback_func(self._request, self._result)
            except Exception:  # pylint: disable=broad-except
                LOGGER.exception('An unhandled error occurred while running '
                                 'future callback')