PsiElementVisitor (@NotNull ProblemsHolder holder, boolean isOnTheFly) { return new JavaElementVisitor() { @Override public void visitDocToken(@NotNull PsiDocToken token) { super.visitDocToken(token); if (token.getParent() instanceof PsiSnippetDocTagBody) return; PsiElement nextWhitespace = token.getNextSibling(); PsiElement prevWhitespace = token.getPrevSibling(); if (token.getTokenType() == JavaDocTokenType.DOC_COMMENT_LEADING_ASTERISKS && prevWhitespace instanceof PsiWhiteSpace && nextWhitespace instanceof PsiWhiteSpace && !isAfterParagraphOrBlockTag(prevWhitespace) && !isBeforeParagraphOrBlockTag(nextWhitespace) && !isAfterPreTag(token)) { holder.problem(token, JavaBundle.message("inspection.javadoc.blank.lines.message")) .fix(new InsertParagraphTagFix(token)).register(); } } }; }