@Override
  public final ProblemDescriptor @Nullable [] checkClass(@NotNull UClass uClass, @NotNull InspectionManager manager, boolean isOnTheFly) {
    if (uClass instanceof UAnonymousClass) return null;

    PsiClass psiClass = uClass.getJavaPsi();
    final PsiIdentifier nameIdentifier = psiClass.getNameIdentifier();
    final Module module = ModuleUtilCore.findModuleForPsiElement(psiClass);
    if (nameIdentifier == null || module == null || !PsiUtil.isInstantiable(psiClass)) return null;

    final PsiClass base = JavaPsiFacade.getInstance(manager.getProject()).findClass(myDescriptionType.getClassName(),
                                                                                    psiClass.getResolveScope());
    if (base == null || !psiClass.isInheritor(base, true)) return null;

    if (skipIfNotRegistered(psiClass)) {
      return null;
    }

    ProblemsHolder holder = new ProblemsHolder(manager, psiClass.getContainingFile(), isOnTheFly);
    boolean registered;
    if (myDescriptionType.isFixedDescriptionFilename()) {
      registered = checkFixedDescription(holder, module, psiClass, uClass);
    }
    else {
      registered = checkDynamicDescription(holder, module, psiClass);
    }

    if (registered) return holder.getResultsArray();

    ProblemHolderUtilKt.registerUProblem(holder, uClass, getHasNotDescriptionError(module, psiClass),
                                         new CreateHtmlDescriptionFix(getDescriptionDir(module, psiClass), module, myDescriptionType));
    return holder.getResultsArray();
  }
@Override
  public final ProblemDescriptor @Nullable [] checkClass(@NotNull UClass uClass, @NotNull InspectionManager manager, boolean isOnTheFly)