//newTransitions
List<ModuleStateChange> newTransitions = new ArrayList<ModuleStateChange>();
for (ModuleDefinition moduleDefinition : unloadable) {
newTransitions.add(new ModuleStateChange(Transition.LOADED_TO_UNLOADED, moduleDefinition));
}
//build loadable
for (ModuleDefinition moduleDefinition : loadable) {
newTransitions.add(new ModuleStateChange(Transition.UNLOADED_TO_LOADED, moduleDefinition));
}
//now add other transitions
for (ModuleStateChange moduleStateChange : transitions) {
if (!newTransitions.contains(moduleStateChange)) {