do {
unloadedConfigsCount = unloadedConfigs.size();
LinkedHashSet<Artifact> sorted = configurationManager.sort(unloadedConfigs, lifecycleMonitor);
for (Artifact configID : sorted) {
monitor.moduleLoading(configID);
configurationManager.loadConfiguration(configID, lifecycleMonitor);
unloadedConfigs.remove(configID);
monitor.moduleLoaded(configID);
monitor.moduleStarting(configID);
configurationManager.startConfiguration(configID, lifecycleMonitor);
monitor.moduleStarted(configID);