@Nullable
  @Override
  public Module findIdeModule(@NotNull ModuleData module) {
    Module cachedIdeModule = myIdeModulesCache.get(module);
    if (cachedIdeModule == null) {
      for (String candidate : suggestModuleNameCandidates(module)) {
        Module ideModule = findIdeModule(candidate);
        if (ideModule != null && isApplicableIdeModule(module, ideModule)) {
          myIdeModulesCache.put(module, ideModule);
          return ideModule;
        }
      }
    }
    else {
      return cachedIdeModule;
    }
    return null;
  }
@Nullable
  @Override
  public Module findIdeModule(@NotNull ModuleData module)