docs: public void setMembership() {
  
          if ((m_orgUnit == null) || (m_membership == null)) {
              return;
          }
  
          // get the membership data to set
          Map<String, Map<String, String>> membership = m_membership.get(m_orgUnit.getName());
          if (membership == null) {
              return;
          }
  
          // set group membership
          Map<String, String> groups = membership.get(I_CmsPrincipal.PRINCIPAL_GROUP);
          if (groups != null) {
              Iterator<Entry<String, String>> it = groups.entrySet().iterator();
              while (it.hasNext()) {
                  Entry<String, String> entry = it.next();
                  String userName = entry.getKey();
                  String groupName = entry.getValue();
  
                  // set the users group
                  try {
                      getCms().addUserToGroup(userName, groupName);
                  } catch (Throwable e) {
                      getReport().println(
                          Messages.get().container(Messages.RPT_USER_COULDNT_BE_ADDED_TO_GROUP_2, userName, groupName),
                          I_CmsReport.FORMAT_WARNING);
                      if (LOG.isDebugEnabled()) {
                          LOG.debug(e.getLocalizedMessage(), e);
                      }
                  }
              }
          }
  
          // set role membership
          Map<String, String> roles = membership.get(I_CmsPrincipal.PRINCIPAL_USER);
          if (roles != null) {
              Iterator<Entry<String, String>> it = roles.entrySet().iterator();
              while (it.hasNext()) {
                  Entry<String, String> entry = it.next();
                  String userName = entry.getKey();
                  String roleName = entry.getValue();
  
                  // set the users roles
                  CmsRole role = CmsRole.valueOfRoleName(roleName);
                  try {
                      // set the user role
                      OpenCms.getRoleManager().addUserToRole(getCms(), role, userName);
                      return;
                  } catch (Throwable e) {
                      getReport().println(
                          Messages.get().container(Messages.RPT_USER_COULDNT_BE_ADDED_TO_ROLE_2, userName, roleName),
                          I_CmsReport.FORMAT_WARNING);
                      if (LOG.isDebugEnabled()) {
                          LOG.debug(e.getLocalizedMessage(), e);
                      }
                  }
              }
          }
      }