Module (@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; }