private void checkSuperParameterAnnotations(ProblemsHolder holder,
                                              NullableNotNullManager nullableManager,
                                              PsiParameter parameter,
                                              List<PsiParameter> superParameters) {
    PsiIdentifier nameIdentifier = parameter.getNameIdentifier();
    if (nameIdentifier == null) return;
    PsiParameter nullableSuper = findNullableSuperForNotNullParameter(parameter, superParameters);
    if (nullableSuper != null) {
      PsiAnnotation annotation = AnnotationUtil.findAnnotation(parameter, nullableManager.getNotNulls(), true);
      reportProblem(holder, annotation != null ? annotation : nameIdentifier,
                    "inspection.nullable.problems.NotNull.parameter.overrides.Nullable",
                    getPresentableAnnoName(parameter), getPresentableAnnoName(nullableSuper));
    }
    PsiParameter notNullSuper = findNotNullSuperForNonAnnotatedParameter(nullableManager, parameter, superParameters);
    if (notNullSuper != null) {
      LocalQuickFix fix = AnnotationUtil.isAnnotatingApplicable(parameter, nullableManager.getDefaultNotNull())
                          ? AddAnnotationPsiFix.createAddNotNullFix(parameter)
                          : createChangeDefaultNotNullFix(nullableManager, notNullSuper);
      reportProblem(holder, nameIdentifier, fix,
                    "inspection.nullable.problems.parameter.overrides.NotNull", getPresentableAnnoName(notNullSuper));
    }
    if (isNotNullParameterOverridingNonAnnotated(nullableManager, parameter, superParameters)) {
      NullabilityAnnotationInfo info = nullableManager.findOwnNullabilityInfo(parameter);
      assert info != null;
      PsiAnnotation notNullAnnotation = info.getAnnotation();
      boolean physical = PsiTreeUtil.isAncestor(parameter, notNullAnnotation, true);
      final LocalQuickFix fix = physical ? new RemoveAnnotationQuickFix(notNullAnnotation, parameter) : null;
      reportProblem(holder, physical ? notNullAnnotation : nameIdentifier, fix,
                    "inspection.nullable.problems.NotNull.parameter.overrides.not.annotated", getPresentableAnnoName(parameter));
    }

    PsiTypeElement typeElement = parameter.getTypeElement();
    if (typeElement != null) {
      for (PsiParameter superParameter : superParameters) {
        if (isNullableNotNullCollectionConflict(parameter.getType(), superParameter.getType(), holder.getFile(), new HashSet<>())) {
          reportProblem(holder, typeElement, "nullable.stuff.error.overriding.nullable.with.notnull");
          break;
        }
      }
    }
  }
private void checkSuperParameterAnnotations(ProblemsHolder holder,
                                              NullableNotNullManager nullableManager,
                                              PsiParameter parameter,
                                              List<PsiParameter> superParameters)