docs: def _wrap_universe(self, func):  # noqa: D202
          """Take a function that needs a universe graph as the first argument and returns a wrapped one."""
  
          @wraps(func)
          def wrapper(graph, *args, **kwargs):
              """Apply the enclosed function with the universe given as the first argument."""
              if self.universe is None:
                  raise MissingUniverseError(
                      'Can not run universe function [{}] - No universe is set'.format(func.__name__))
  
              return func(self.universe, graph, *args, **kwargs)
  
          return wrapper