code: private ApplicationContext install(ApplicationContext wac, ModuleSorter.Sorted sorted, ServiceModuleInfo info) {
          // scan special modules, configuring and initializing PlatformAware objects as each module is loaded
          wac = install(wac, sorted.specials(), info, true);
  
          // scan regular modules, collecting all PlatformAware objects
          install(wac, sorted.regulars(), info, false);
  
          if (info.plcas.size() > 0) {
              _logger.info("configure PlatformAware objects in regular modules");
              for (Pair<String, PlatformAware> plca: info.plcas) {
                  _logger.info("Configuring REGULAR PlatformAware " + plca.second.getClass().getName());
                  plca.second.configure(_application, plca.first);
              }
  
              _logger.info("initialize PlatformAware objects in regular modules");
              for (Pair<String, PlatformAware> plca: info.plcas) {
                  _logger.info("Initalizing REGULAR PlatformAware " + plca.second.getClass().getName());
                  plca.second.initialize(_application, plca.first);
              }
  
              _plca.push(info.plcas);
              info.plcas = new ArrayList<Pair<String, PlatformAware>>();
          } else {
              _logger.info("No PlatformAware objects in regular modules");
          }
  
          return wac;
      }
docs: install service modules in the ModuleSorter.Sorted