void (DomInvocationHandler parent, List<DomElement> included, XmlName xmlName) { XmlFile file = parent.getFile(); if (myCachedValue == null) { myCachedValue = CachedValuesManager.getManager(file.getProject()).createCachedValue(() -> { DomElement result = computeValue(parent); return CachedValueProvider.Result.create(result, PsiModificationTracker.MODIFICATION_COUNT); }); } DomElement rootElement = myCachedValue.getValue(); if (rootElement != null) { processChildrenWithLocalName(rootElement, xmlName.getLocalName(), new CommonProcessors.CollectProcessor<>(included)); } }