public void loadModulesFromKmdFiles() throws FileNotFoundException, IOException {

    log.debug("Loading dependencies");
    depModuleManager = new ModuleManager();
    depModuleManager.addModules(loadModuleDescriptors(dependencyKmdFiles));
    depModuleManager.resolveModules();

    ModuleDefinition module = fusionModuleDescriptors(loadModuleDescriptors(kmdFilesToGen));
    if (module != null) {
      module.validateModule();
    }

    log.debug("Loading dependency kmd files to generate code");
    moduleManager = new ModuleManager();
    moduleManager.addModules(loadModuleDescriptors(dependencyKmdFilesToGen));
    if (module != null) {
      moduleManager.addModule(module);
    }
    moduleManager.setDependencies(depModuleManager);
    moduleManager.resolveModules();

    hasToGenerateCode = (module != null) && !module.hasKmdSection()
        || !dependencyKmdFilesToGen.isEmpty();

  }