@Override
  public void visitXmlComment(@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())));
    }
  }
@Override
  public void visitXmlComment(@NotNull XmlComment comment)