code: @Nonnull
    public IUserGroup createNewUserGroup (@Nonnull @Nonempty final String sName,
                                          @Nullable final String sDescription,
                                          @Nullable final Map <String, String> aCustomAttrs)
    {
      // Create user group
      final UserGroup aUserGroup = new UserGroup (sName, sDescription, aCustomAttrs);
  
      m_aRWLock.writeLocked ( () -> {
        // Store
        internalCreateItem (aUserGroup);
      });
      AuditHelper.onAuditCreateSuccess (UserGroup.OT, aUserGroup.getID (), sName, sDescription, aCustomAttrs);
  
      // Execute callback as the very last action
      m_aCallbacks.forEach (aCB -> aCB.onUserGroupCreated (aUserGroup, false));
  
      return aUserGroup;
  
    }
docs: Create a new user group.
  
  @param sName
  The name of the user group to create. May neither be
  <code>null</code> nor empty.
  @param sDescription
  The optional description of the user group. May be <code>null</code>
  .
  @param aCustomAttrs
  A set of custom attributes. May be <code>null</code>.
  @return The created user group.