void (@NotNull AnActionEvent e) { final PsiElement element = myDefine.getPsiElement(); if (element == null || !element.isValid()) return; final PsiElementProcessor.CollectElements<XmlFile> collector = new PsiElementProcessor.CollectElements<>(); final XmlFile localFile = (XmlFile)element.getContainingFile(); RelaxIncludeIndex.processBackwardDependencies(localFile, collector); final Collection<XmlFile> files = collector.getCollection(); final List<Define> result = new SmartList<>(); final OverriddenDefineSearcher searcher = new OverriddenDefineSearcher(myDefine, localFile, result); for (XmlFile file : files) { final Grammar grammar = GrammarFactory.getGrammar(file); if (grammar == null) continue; grammar.acceptChildren(searcher); } if (result.size() > 0) { OverridingDefineRenderer.doClickAction(e, result, RelaxngBundle.message("relaxng.gutter.go-to-overriding-defines")); } }