def METHOD_NAME(
        user: AnyUser,
        payload: Payload,
        type: str, # pylint: disable=redefined-builtin
        permission: Permission,
        kwargs: Dict[str, Any]
        ) -> Iterable[Any]:
    """
    Gets the objects corresponding to a permission.
    Raises AuthenticationFailed if the user doesn't have permission.
    Create permissions do not have objects, so they should return empty lists if kwargs are otherwise ok.
    """
    global _jwt_accessible_managers # pylint: disable=global-variable-not-assigned
    cls = _jwt_accessible_managers.get(type)
    if cls is None:
        # Fail by default
        logger.info(f"Missing jwt class for type {type}") # pylint: disable=logging-fstring-interpolation
        raise AuthenticationFailed(format_lazy(
            _("NO_JWT_PERMISSION -- {permission}, {type}, {kwargs}"),
            permission=permission,
            type=type,
            kwargs=kwargs
        ))
    items = cls.from_jwt_permission(user, payload, permission, kwargs, auth_settings().DISABLE_LOGIN_CHECKS)
    if items is None:
        logger.info( # pylint: disable=logging-fstring-interpolation
            f"{payload.sub} (signed by {payload.iss}) tried to get {permission} access to {type} with {kwargs}"
        )
        raise AuthenticationFailed(format_lazy(
            _("NO_JWT_PERMISSION -- {permission}, {type}, {kwargs}"),
            permission=permission,
            type=type,
            kwargs=kwargs
        ))
    return items