docs: @Override
      public void actionCommit() {
  
          List<Throwable> errors = new ArrayList<Throwable>();
  
          try {
              // if new create it first
              if (m_group.getId() == null) {
                  CmsGroup newGroup = getCms().createGroup(
                      m_paramOufqn + m_group.getSimpleName(),
                      m_group.getDescription(),
                      m_group.isEnabled() ? I_CmsPrincipal.FLAG_ENABLED : I_CmsPrincipal.FLAG_DISABLED,
                      getParentGroup());
                  m_group = newGroup;
              } else {
                  if (getParentGroup() != null) {
                      m_group.setParentId(getCms().readGroup(getParentGroup()).getId());
                  } else {
                      m_group.setParentId(CmsUUID.getNullUUID());
                  }
              }
              // write the edited group
              getCms().writeGroup(m_group);
              // refresh the list
              Map<?, ?> objects = (Map<?, ?>)getSettings().getListObject();
              if (objects != null) {
                  objects.remove(getListClass());
                  objects.remove(A_CmsUsersList.class.getName());
              }
          } catch (Throwable t) {
              errors.add(t);
          }
  
          if (errors.isEmpty() && isNewGroup()) {
              if ((getParamCloseLink() != null) && (getParamCloseLink().indexOf("path=" + getListRootPath()) > -1)) {
                  // set closelink
                  Map<String, String[]> argMap = new HashMap<String, String[]>();
                  argMap.put("groupid", new String[] {m_group.getId().toString()});
                  argMap.put("groupname", new String[] {m_group.getName()});
                  argMap.put("oufqn", new String[] {m_paramOufqn});
                  setParamCloseLink(CmsToolManager.linkForToolPath(getJsp(), getListRootPath() + "/edit", argMap));
              }
          }
          // set the list of errors to display when saving failed
          setCommitErrors(errors);
      }