private void LoadModules(List<ModuleInfo> modules, Action completedCallback)
{
Argument.IsNotNull("modules", modules);
Argument.IsNotNull("completedCallback", completedCallback);
if (modules.Count == 0)
{
Log.Debug("No modules to load (anymore), invoking completed callback immediately");
completedCallback();
return;
}
LoadModule(modules[0].ModuleName, () =>
{
modules.RemoveAt(0);
LoadModules(modules, completedCallback);
});
}