private static @NotNull Map<String, Collection<PsiClass>> getLibraryAnnotationClassesMap(@NotNull Module module) {
    return CachedValuesManager.getManager(module.getProject()).getCachedValue(module, () -> {
      Map<String, Collection<PsiClass>> map = ConcurrentFactoryMap.createMap(key -> {
        PsiClass annotationClass = JavaPsiFacade.getInstance(module.getProject()).findClass(key, moduleWithLibrariesScope(module));
        if (annotationClass == null || !annotationClass.isAnnotationType()) {
          return emptyList();
        }

        GlobalSearchScope libsScope = moduleWithLibrariesScope(module)
          .intersectWith(ProjectScope.getLibrariesScope(module.getProject()));

        return findAnnotationTypesWithChildren(List.of(annotationClass), libsScope);
      });

      return Result.create(map, JavaLibraryModificationTracker.getInstance(module.getProject()));
    });
  }
private static @NotNull Map<String, Collection<PsiClass>> getLibraryAnnotationClassesMap(@NotNull Module module)