void (final Define define) { final PsiElement element = define.getPsiElement(); if (element != null) { final XmlFile xmlFile = (XmlFile)element.getContainingFile(); final List<Define> result = new SmartList<>(); final OverriddenDefineSearcher searcher = new OverriddenDefineSearcher(define, xmlFile, result); final PsiElementProcessor.FindElement<XmlFile> processor = new PsiElementProcessor.FindElement<>() { @Override public boolean execute(@NotNull XmlFile file) { final Grammar grammar = GrammarFactory.getGrammar(file); if (grammar == null) return true; grammar.acceptChildren(searcher); return result.size() == 0 || super.execute(file); } }; RelaxIncludeIndex.processBackwardDependencies(xmlFile, processor); if (processor.isFound()) { createGutterAnnotation(define, new OverriddenDefineRenderer(define)); } } }