// check for any dependency regarding given string
  private boolean checkModuleDependency(Module module, Collection<ModuleId> rootModules) {

    for (ModuleId rootModule : rootModules) {

      if (rootModule.equals(new ModuleId(module.getName(), module.getRevision()))) {
        return true;
      }

      // handling/checking imports regarding root modules
      for (ModuleImport moduleImport : module.getImports()) {

        if (moduleImport.getModuleName().equals(rootModule.getName())) {

          if (moduleImport.getRevision() != null
              && !moduleImport.getRevision().equals(rootModule.getRev())) {
            return false;
          }

          return true;
        }
      }

      // submodules handling
      for (Module moduleSub : module.getSubmodules()) {
        return checkModuleDependency(moduleSub, rootModules);
      }
    }

    return false;
  }