@ApiStatus.Internal
  @Nullable
  public static List<PyCallableParameter> getMappedParameters(@NotNull PyExpression argument,
                                                              @NotNull PyResolveContext resolveContext) {
    while (argument.getParent() instanceof PyParenthesizedExpression parenthesizedExpr) {
      argument = parenthesizedExpr;
    }

    if (argument.getParent() instanceof PyKeywordArgument keywordArgument) {
      assert keywordArgument.getValueExpression() == argument;
      argument = keywordArgument;
    }

    PsiElement parent = argument.getParent();
    if (parent instanceof PyArgumentList) {
      parent = parent.getParent();
    }
    if (!(parent instanceof PyCallSiteExpression callSite)) {
      return null;
    }

    PyExpression finalArgument = argument;
    return ContainerUtil.mapNotNull(mapArguments(callSite, resolveContext), mapping -> mapping.getMappedParameters().get(finalArgument));
  }
@ApiStatus.Internal
  @Nullable
  public static List<PyCallableParameter> getMappedParameters(@NotNull PyExpression argument,
                                                              @NotNull PyResolveContext resolveContext)