GdkMethodHolder (final PsiClass categoryClass, final boolean isStatic) { final Project project = categoryClass.getProject(); Key<CachedValue<GdkMethodHolder>> key = isStatic ? CACHED_STATIC : CACHED_NON_STATIC; return CachedValuesManager.getManager(project).getCachedValue(categoryClass, key, () -> { GdkMethodHolder result = new GdkMethodHolder(categoryClass, isStatic); final ProjectRootManager rootManager = ProjectRootManager.getInstance(project); final VirtualFile vfile = categoryClass.getContainingFile().getVirtualFile(); if (vfile != null && rootManager.getFileIndex().isInLibrary(vfile)) { return CachedValueProvider.Result.create(result, rootManager); } return CachedValueProvider.Result.create(result, PsiModificationTracker.MODIFICATION_COUNT, rootManager); }, false); }