List<Equations> (GlobalSearchScope scope, HMember key) { return ContainerUtil.mapNotNull( FileBasedIndex.getInstance().getContainingFiles(BytecodeAnalysisIndex.NAME, key, scope), file -> { CachedValue<Map<HMember, Equations>> equations = file.getUserData(EQUATIONS); if (equations == null) { equations = new CachedValueImpl<>(() -> CachedValueProvider.Result.create(ourGist.getFileData(null, file), file)); file.putUserDataIfAbsent(EQUATIONS, equations); } return equations.getValue().get(key); }); }