void (Include inc) { final Define[] overrides = inc.getOverrides(); for (Define define : overrides) { final PsiFile file = inc.getInclude(); if (!(file instanceof XmlFile)) continue; // final Grammar grammar = GrammarFactory.getGrammar((XmlFile)file); if (grammar == null) continue; final Map<String, Set<Define>> map = DefinitionResolver.getAllVariants(grammar); if (map == null) continue; final Set<Define> set = map.get(define.getName()); if (set == null || set.size() == 0) { //noinspection unchecked myHolder.createAnnotation(HighlightSeverity.ERROR, (T)define, RelaxngBundle.message("relaxng.annotator.definition-doesnt-override-anything-from", file.getName()), null); continue; } final String message = RelaxngBundle.message("relaxng.annotator.overrides.x.in.y", define.getName(), file.getName()); createGutterAnnotation(define, new OverridingDefineRenderer(message, set)); } }