@Override
  public ResolveResult @NotNull [] multiResolve(boolean incompleteCode) {
    final String keyword = myElement.getKeyword();
    if (keyword == null) {
      return ResolveResult.EMPTY_ARRAY;
    }
    PsiElement call = PsiTreeUtil.getParentOfType(myElement, PyCallExpression.class, PyClass.class);
    if (!(call instanceof PyCallExpression)) {
      return ResolveResult.EMPTY_ARRAY;
    }

    List<ResolveResult> resultList = new ArrayList<>();
    TypeEvalContext evalCtx = TypeEvalContext.codeInsightFallback(call.getProject());
    StreamEx.of(((PyCallExpression)call).multiResolveCallee(PyResolveContext.defaultContext(evalCtx)))
      .map(it -> it.getParameters(evalCtx))
      .nonNull()
      .flatMap(it -> StreamEx.of(it))
      .filter(it -> keyword.equals(it.getName()))
      .map(it -> it.getDeclarationElement())
      .nonNull()
      .forEach(it -> resultList.add(new PsiElementResolveResult(it)));

    return resultList.toArray(ResolveResult.EMPTY_ARRAY);
  }
@Override
  public ResolveResult @NotNull [] multiResolve(boolean incompleteCode)