void (@NotNull PsiComment comment) { super.visitComment(comment); final CompiledPattern pattern = myCompilingVisitor.getContext().getPattern(); GlobalCompilingVisitor.setFilter(pattern.getHandler(comment), CommentFilter.getInstance()); final String commentText = JavaMatchUtil.getCommentText(comment).trim(); if (COMMENT_PATTERN.matcher(commentText).matches()) { final SubstitutionHandler handler = (SubstitutionHandler)pattern.getHandler(commentText); if (handler == null) { throw new MalformedPatternException(); } comment.putUserData(CompiledPattern.HANDLER_KEY, handler); final RegExpPredicate predicate = handler.findPredicate(RegExpPredicate.class); if (GlobalCompilingVisitor.isSuitablePredicate(predicate, handler)) { myCompilingVisitor.processTokenizedName(predicate.getRegExp(), COMMENT); } } else if (!commentText.isEmpty()) { if (myCompilingVisitor.hasFragments(commentText)) { final MatchingHandler handler = myCompilingVisitor.processPatternStringWithFragments( comment instanceof PsiDocComment ? comment.getText() : JavaMatchUtil.getCommentText(comment).trim(), COMMENT); if (handler != null) comment.putUserData(CompiledPattern.HANDLER_KEY, handler); } else { myCompilingVisitor.processTokenizedName(commentText, COMMENT); } } }