static PsiParameter @NotNull [] checkMethodParameters(PsiMethod method) {
    if (method.getBody() == null) return PsiParameter.EMPTY_ARRAY;

    final Collection<PsiParameter> nullableParameters = new SmartList<>();
    final PsiParameter[] parameters = method.getParameterList().getParameters();
    for (int index = 0; index < parameters.length; index++) {
      PsiParameter parameter = parameters[index];
      if (!(parameter.getType() instanceof PsiPrimitiveType) &&
          NullableNotNullManager.getNullability(parameter) == Nullability.UNKNOWN &&
          JavaNullMethodArgumentUtil.hasNullArgument(method, index)) {
        nullableParameters.add(parameter);
      }
    }
    if (nullableParameters.isEmpty()) return PsiParameter.EMPTY_ARRAY;

    DfaValueFactory factory = new DfaValueFactory(method.getProject());
    ControlFlow flow = ControlFlowAnalyzer.buildFlow(method.getBody(), factory, true);
    if (flow == null) return PsiParameter.EMPTY_ARRAY;
    var interpreter = new NullParameterCheckerInterpreter(flow, nullableParameters);
    interpreter.interpret(new MyDfaMemoryState(factory, interpreter.myPossiblyViolatedParameters));

    return interpreter.myPossiblyViolatedParameters
      .stream()
      .filter(interpreter.myUsedParameters::contains)
      .filter(interpreter.myParametersWithSuccessfulExecutionInNotNullState::contains)
      .toArray(PsiParameter[]::new);
  }
static PsiParameter @NotNull [] checkMethodParameters(PsiMethod method)