Multitenancy and add child role to database resource role

I get an error when I want to add a child role to a database resource role.

image

The bug is in this class

public class SameTenantRoleAssignmentCandidatePredicate implements RoleAssignmentCandidatePredicate {

    protected final TenantProvider tenantProvider;

    public SameTenantRoleAssignmentCandidatePredicate(TenantProvider tenantProvider) {
        this.tenantProvider = tenantProvider;
    }

    @Override
    public boolean test(UserDetails userDetails, BaseRole baseRole) {
        if (RoleSource.ANNOTATED_CLASS.equals(baseRole.getSource())) {
            return true;
        }

        String userTenant = tenantProvider.getTenantIdForUser(userDetails);
        // Convert "NO_TENANT" to null to match null tenant of role
        userTenant = TenantProvider.NO_TENANT.equals(userTenant) ? null : userTenant;
        String roleTenant = baseRole.getTenantId();

        return Objects.equals(roleTenant, userTenant);
    }
}

In my case, I have the multitenant addon but I have no tenant in this app.

to fix it, I have to override the Bean with this one because userDetails can be null

class SameTenantRoleAssignmentCandidatePredicateFixed(tenantProvider: TenantProvider) : SameTenantRoleAssignmentCandidatePredicate(tenantProvider) {
    override fun test(userDetails: UserDetails?, baseRole: BaseRole?) = if (null == userDetails) true else super.test(userDetails, baseRole)
}