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

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)
}