@Override
  public void getNamedArguments(@NotNull GrCall call,
                                @NotNull GroovyResolveResult resolveResult,
                                @Nullable String argumentName,
                                boolean forCompletion,
                                @NotNull Map<String, NamedArgumentDescriptor> result) {
    PsiElement resolve = resolveResult.getElement();
    if (!forCompletion || !(resolve instanceof PsiMethod)) return;

    PsiType returnType = ((PsiMethod)resolve).getReturnType();
    if (!(returnType instanceof PsiClassType)) return;

    Map<String, NamedArgumentDescriptor> map = new HashMap<>();

    GroovyConstructorNamedArgumentProvider.processClass(call, (PsiClassType)returnType, argumentName, map);

    for (String name : map.keySet()) {
      result.put(name, NamedArgumentDescriptor.SIMPLE_UNLIKELY);
    }
  }
@Override
  public void getNamedArguments(@NotNull GrCall call,
                                @NotNull GroovyResolveResult resolveResult,
                                @Nullable String argumentName,
                                boolean forCompletion,
                                @NotNull Map<String, NamedArgumentDescriptor> result)