@Override
    public void visitComment(@NotNull PsiComment comment) {
      super.visitComment(comment);
      if (comment instanceof PsiDocComment) {
        return;
      }
      if (comment.getTokenType() == JavaTokenType.END_OF_LINE_COMMENT) {
        final PsiElement before = PsiTreeUtil.skipWhitespacesBackward(comment);
        if (before instanceof PsiComment && ((PsiComment)before).getTokenType() == JavaTokenType.END_OF_LINE_COMMENT) {
          return;
        }
        while (true) {
          final String text = getCommentText(comment);
          final int lines = StringUtil.countNewLines(text) + 1;
          if (lines < minLines) {
            return;
          }
          final ThreeState code = isCode(text, comment);
          if (code == ThreeState.YES) {
            registerErrorAtOffset(comment, 0, 2, lines);
            return;
          }
          else if (code == ThreeState.NO) {
            return;
          }
          final PsiElement after = PsiTreeUtil.skipWhitespacesForward(comment);
          if (!(after instanceof PsiComment && ((PsiComment)after).getTokenType() == JavaTokenType.END_OF_LINE_COMMENT)) {
            break;
          }
          comment = (PsiComment)after;
        }
      }
      else {
        final String text = getCommentText(comment);
        final int lines = StringUtil.countNewLines(text) + 1;
        if (lines < minLines || isCode(text, comment) != ThreeState.YES) {
          return;
        }
        registerErrorAtOffset(comment, 0, 2, lines);
      }
    }
@Override
    public void visitComment(@NotNull PsiComment comment)