docs: protected void parseProcessArchive(Element element, List<ProcessArchiveXml> parsedProcessArchives) {
  
      ProcessArchiveXmlImpl processArchive = new ProcessArchiveXmlImpl();
  
      processArchive.setName(element.attribute(NAME));
      processArchive.setTenantId(element.attribute(TENANT_ID));
  
      List<String> processResourceNames = new ArrayList<String>();
  
      Map<String, String> properties = new HashMap<String, String>();
      for (Element childElement : element.elements()) {
        if(PROCESS_ENGINE.equals(childElement.getTagName())) {
          processArchive.setProcessEngineName(childElement.getText());
  
        } else if(PROCESS.equals(childElement.getTagName()) || RESOURCE.equals(childElement.getTagName())) {
          processResourceNames.add(childElement.getText());
  
        } else if(PROPERTIES.equals(childElement.getTagName())) {
          parseProperties(childElement, properties);
  
        }
      }
  
      // set properties
      processArchive.setProperties(properties);
  
      // add collected resource names.
      processArchive.setProcessResourceNames(processResourceNames);
  
      // add process archive to list of parsed archives.
      parsedProcessArchives.add(processArchive);
  
    }