@NotNull
  public static PyElementPattern.Capture<PyExpression> pyModuleFunctionArgument(@Nullable String functionName,
                                                                                int index,
                                                                                @NotNull String moduleName) {
    return new PyElementPattern.Capture<>(new InitialPatternCondition<>(PyExpression.class) {
      @Override
      public boolean accepts(@Nullable Object o, ProcessingContext context) {
        return StreamEx
          .of(multiResolveCalledFunction(o, functionName, index))
          .select(PyFunction.class)
          .map(ScopeUtil::getScopeOwner)
          .select(PyFile.class)
          .anyMatch(file -> moduleName.equals(FileUtilRt.getNameWithoutExtension(file.getName())));
      }
    });
  }
@NotNull
  public static PyElementPattern.Capture<PyExpression> pyModuleFunctionArgument(@Nullable String functionName,
                                                                                int index,
                                                                                @NotNull String moduleName)