boolean (@NotNull PsiAnnotation psiAnnotation, @NotNull PsiClass psiClass, @NotNull ProblemSink problemSink) { boolean result; result = super.validate(psiAnnotation, psiClass, problemSink); if (!isForceConstructor(psiAnnotation)) { final String staticConstructorName = getStaticConstructorName(psiAnnotation); result &= validateIsConstructorNotDefined(psiClass, staticConstructorName, Collections.emptyList(), problemSink); if (problemSink.deepValidation()) { final Collection<PsiField> requiredFields = getRequiredFields(psiClass, true); if (!requiredFields.isEmpty()) { problemSink.addErrorMessage("inspection.message.constructor.noargs.needs.to.be.forced") .withLocalQuickFixes(() -> PsiQuickFixFactory.createChangeAnnotationParameterFix(psiAnnotation, "force", "true")); } } } return result; }