docs: public List<CmsADEConfigDataInternal> readModuleConfigurations() {
  
          List<CmsADEConfigDataInternal> configurations = new ArrayList<CmsADEConfigDataInternal>();
          List<CmsModule> modules = OpenCms.getModuleManager().getAllInstalledModules();
          long beginTime = System.currentTimeMillis();
          for (CmsModule module : modules) {
              String configPath = module.getConfigurationPath();
              if (m_cms.existsResource(configPath)) {
                  try {
                      CmsResource configFile = m_cms.readResource(configPath);
                      LOG.info("Found module configuration " + configPath + " for module " + module.getName());
                      CmsADEConfigDataInternal config = parseSitemapConfiguration(null, configFile);
                      configurations.add(config);
                  } catch (CmsException e) {
                      // errors while parsing configuration
                      LOG.error(e.getLocalizedMessage(), e);
                  } catch (CmsRuntimeException e) {
                      // may happen during import of org.opencms.ade.configuration module
                      LOG.warn(e.getLocalizedMessage(), e);
                  } catch (Throwable e) {
                      LOG.error(e.getLocalizedMessage(), e);
                  }
              }
          }
          long endTime = System.currentTimeMillis();
          LOG.debug("readModuleConfiguations took " + (endTime - beginTime) + "ms");
          return configurations;
      }