CachedValue<XmlRefCountHolder> (final XmlFile file, final Object p) { return CachedValuesManager.getManager(file.getProject()).createCachedValue(() -> { final XmlRefCountHolder holder = new XmlRefCountHolder(); final Language language = file.getViewProvider().getBaseLanguage(); final PsiFile psiFile = file.getViewProvider().getPsi(language); assert psiFile != null; psiFile.accept(new IdGatheringRecursiveVisitor(holder)); return new CachedValueProvider.Result<>(holder, file); }, false); }