public static @NotNull List<? extends MethodContract> getMethodCallContracts(@NotNull PsiMethod method,
                                                                               @Nullable PsiCallExpression call) {
    List<MethodContract> hardcoded =
      HardcodedContracts.getHardcodedContracts(method, ObjectUtils.tryCast(call, PsiMethodCallExpression.class));
    if (!hardcoded.isEmpty()) {
      NullabilityAnnotationInfo info = NullableNotNullManager.getInstance(method.getProject()).findEffectiveNullabilityInfo(method);
      if (info == null || info.isExternal() || info.getNullability() != Nullability.NOT_NULL) {
        return hardcoded;
      }
      if (HardcodedContracts.getHardcodedContracts(method, null).isEmpty()) {
        // Contract is derived for the call (like AssertJ assertion) -- preserve it
        return hardcoded;
      }
    }
    return getMethodContracts(method);
  }
public static @NotNull List<? extends MethodContract> getMethodCallContracts(@NotNull PsiMethod method,
                                                                               @Nullable PsiCallExpression call)