docs: protected void exportProject(Element parent, CmsProject project) throws CmsImportExportException, SAXException {
  
          I_CmsReport report = getReport();
          CmsDefaultUsers defaultUsers = OpenCms.getDefaultUsers();
  
          String users;
          try {
              users = getCms().readGroup(project.getGroupId()).getName();
          } catch (CmsException e) {
              CmsMessageContainer message = org.opencms.db.Messages.get().container(
                  org.opencms.db.Messages.ERR_READ_GROUP_FOR_ID_1,
                  project.getGroupId());
              if (LOG.isDebugEnabled()) {
                  LOG.debug(message.key(), e);
              }
  
              users = defaultUsers.getGroupUsers();
              report.println(org.opencms.report.Messages.get().container(org.opencms.report.Messages.RPT_DOTS_0));
              report.print(message, I_CmsReport.FORMAT_ERROR);
  
          }
          String managers;
          try {
              managers = getCms().readGroup(project.getManagerGroupId()).getName();
          } catch (CmsException e) {
              CmsMessageContainer message = org.opencms.db.Messages.get().container(
                  org.opencms.db.Messages.ERR_READ_GROUP_FOR_ID_1,
                  project.getManagerGroupId());
              if (LOG.isDebugEnabled()) {
                  LOG.debug(message.key(), e);
              }
  
              managers = defaultUsers.getGroupAdministrators();
              report.println(org.opencms.report.Messages.get().container(org.opencms.report.Messages.RPT_DOTS_0));
              report.print(message, I_CmsReport.FORMAT_ERROR);
          }
  
          Element e = parent.addElement(CmsImportVersion10.N_PROJECT);
          e.addElement(CmsImportVersion10.N_NAME).addText(project.getSimpleName());
          e.addElement(CmsImportVersion10.N_DESCRIPTION).addCDATA(project.getDescription());
          e.addElement(CmsImportVersion10.N_USERSGROUP).addText(users);
          e.addElement(CmsImportVersion10.N_MANAGERSGROUP).addText(managers);
  
          Element resources = e.addElement(CmsImportVersion10.N_RESOURCES);
          try {
              Iterator<String> it = getCms().readProjectResources(project).iterator();
              while (it.hasNext()) {
                  String resName = it.next();
                  resources.addElement(CmsImportVersion10.N_RESOURCE).addText(resName);
              }
          } catch (CmsException exc) {
              CmsMessageContainer message = org.opencms.db.Messages.get().container(
                  org.opencms.db.Messages.ERR_READ_PROJECT_RESOURCES_2,
                  project.getName(),
                  project.getUuid());
              if (LOG.isDebugEnabled()) {
                  LOG.debug(message.key(), exc);
              }
  
              throw new CmsImportExportException(message, exc);
          }
          // write the XML
          digestElement(parent, e);
      }