void (@NotNull XmlComment comment) { super.visitXmlComment(comment); final PsiElement element = myMatchingVisitor.getElement(); if (!(element instanceof XmlComment other)) return; final XmlToken text = XmlUtil.getTokenOfType(comment, XmlTokenType.XML_COMMENT_CHARACTERS); assert text != null; final CompiledPattern pattern = myMatchingVisitor.getMatchContext().getPattern(); final boolean typedVar = pattern.isTypedVar(text); if (typedVar) { final SubstitutionHandler handler = (SubstitutionHandler)pattern.getHandler(text); myMatchingVisitor.setResult(handler.handle(XmlUtil.getTokenOfType(other, XmlTokenType.XML_COMMENT_CHARACTERS), myMatchingVisitor.getMatchContext())); } else { myMatchingVisitor.setResult(myMatchingVisitor.matchText(MatchUtil.normalize(text.getText()), MatchUtil.normalize(other.getCommentText()))); } }