void (@NotNull ASTNode node, @NotNull String message) { if (MISSING_START_ELEMENT.equals(message)) { final PsiFile psiFile = node.getPsi().getContainingFile(); if (psiFile instanceof XmlFile) { final PsiElementProcessor.FindElement<XmlFile> processor = new PsiElementProcessor.FindElement<>(); RelaxIncludeIndex.processBackwardDependencies((XmlFile)psiFile, processor); if (processor.isFound()) { // files that are included from other files do not need a <start> element. myHolder.newAnnotation(HighlightSeverity.WEAK_WARNING, message).range(node).create(); return; } } } else if (message.startsWith(UNDEFINED_PATTERN)) { // we've got our own validation for that return; } myHolder.newAnnotation(HighlightSeverity.ERROR, message).range(node).create(); }