docs: @Nonnull
    public IRole createPredefinedRole (@Nonnull @Nonempty final String sID,
                                       @Nonnull @Nonempty final String sName,
                                       @Nullable final String sDescription,
                                       @Nullable final Map <String, String> aCustomAttrs)
    {
      // Create role
      final Role aRole = new Role (StubObject.createForCurrentUserAndID (sID, aCustomAttrs), sName, sDescription);
  
      m_aRWLock.writeLocked ( () -> {
        // Store
        internalCreateItem (aRole);
      });
      AuditHelper.onAuditCreateSuccess (Role.OT, aRole.getID (), "predefind-role", sName);
  
      // Execute callback as the very last action
      m_aCallbacks.forEach (aCB -> aCB.onRoleCreated (aRole, true));
  
      return aRole;
    }