String transition = change.getTransition();
ModuleDefinition currentModuleDefinition = change.getModuleDefinition();
TransitionProcessor transitionProcessor = transitionProcessorRegistry.getTransitionProcessor(transition);
TransitionResult result;
try {
transitionProcessor.process(application, transitions.getNewRootModuleDefinition(), currentModuleDefinition);
result = new TransitionResult(change);
}
catch (Throwable error) {
result = new TransitionResult(change, error);
}
resultSet.addResult(result);
if (result.getError() == null && moduleStateChangeNotifier != null) {
moduleStateChangeNotifier.notify(moduleStateHolder, result);
}
}
transitionsLogger.logTransitions(resultSet);