void (PsiClass aClass, ProblemsHolder delegate, boolean isOnTheFly) { if (aClass instanceof PsiAnonymousClass || aClass instanceof PsiSyntheticClass || aClass instanceof PsiTypeParameter) { return; } if (IGNORE_DEPRECATED_ELEMENTS && aClass.isDeprecated()) { return; } Options options = ClassUtil.isTopLevelClass(aClass) ? TOP_LEVEL_CLASS_SETTINGS : INNER_CLASS_SETTINGS; if (!isJavadocRequired(options, aClass)) return; PsiDocComment docComment = aClass.getDocComment(); if (docComment != null) { PsiDocTag[] tags = docComment.getTags(); checkRequiredTags(tags, options, docComment.getFirstChild(), delegate); if (options.isTagRequired("param")) { checkMissingTypeParamTags(aClass, tags, docComment.getFirstChild(), delegate); } } else { PsiElement toHighlight = notNull(aClass.getNameIdentifier(), aClass); reportMissingJavadoc(toHighlight, delegate, isOnTheFly); } }