Collection<PsiClass> (@NotNull Module module, @NotNull String annotationName) { Map<String, Collection<PsiClass>> map = CachedValuesManager.getManager(module.getProject()).getCachedValue(module, () -> { Map<String, Collection<PsiClass>> factoryMap = ConcurrentFactoryMap.createMap(key -> { return findAnnotatedTypes(module, key); }); return new Result<>(factoryMap, UastModificationTracker.getInstance(module.getProject())); }); return map.get(annotationName); }