void (@NotNull XmlTag tag, @NotNull ProblemsHolder holder, boolean isOnTheFly) { if (!(tag instanceof HtmlTag) || !XmlHighlightVisitor.shouldBeValidated(tag)) { return; } final PsiElement child = tag.getLastChild(); if (child instanceof PsiErrorElement) { return; } if (child != null && child.getNode().getElementType() == XmlTokenType.XML_EMPTY_ELEMENT_END) { return; } final XmlToken tagNameElement = XmlTagUtil.getStartTagNameElement(tag); if (tagNameElement == null) { return; } final String tagName = tagNameElement.getText(); if (HtmlUtil.isSingleHtmlTag(tag, true) || XmlTagUtil.getEndTagNameElement(tag) != null) { return; } holder.registerProblem(tagNameElement, XmlAnalysisBundle.message("html.inspections.element.missing.end.tag"), new MissingClosingTagFix(tagName)); }