void (ProblemsHolder holder, PsiElement scope) { if (!(scope.getParent() instanceof PsiMethod method) || PsiUtil.canBeOverridden(method)) return; NullabilityAnnotationInfo info = NullableNotNullManager.getInstance(scope.getProject()).findOwnNullabilityInfo(method); if (info == null || info.getNullability() != Nullability.NULLABLE) return; if (TypeUtils.typeEquals(CommonClassNames.JAVA_LANG_VOID, method.getReturnType())) return; PsiAnnotation annotation = info.getAnnotation(); if (!annotation.isPhysical() || alsoAppliesToInternalSubType(annotation, method)) return; PsiJavaCodeReferenceElement annoName = annotation.getNameReferenceElement(); assert annoName != null; String msg = JavaAnalysisBundle .message("dataflow.message.return.notnull.from.nullable", NullableStuffInspectionBase.getPresentableAnnoName(annotation), method.getName()); holder.problem(annoName, msg) .maybeFix(AddAnnotationPsiFix.createAddNotNullFix(method)) .fix(new UpdateInspectionOptionFix(this, "REPORT_NULLABLE_METHODS_RETURNING_NOT_NULL", JavaAnalysisBundle.message( "inspection.data.flow.turn.off.nullable.returning.notnull.quickfix"), false)) .register(); }