@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 (resolve instanceof GrMethod) {
      ((GrMethod)resolve).getNamedParameters().forEach((key, value) -> result.putIfAbsent(key, value));
    }
    else if (resolve instanceof GrField) {
      ((GrField)resolve).getNamedParameters().forEach((key, value) -> result.putIfAbsent(key, value));
    }
    else if (resolve instanceof GrVariable) {
      GrNamedArgumentSearchVisitor.find((GrVariable)resolve).forEach((key, value) -> result.putIfAbsent(key, value));
    }
  }
@Override
  public void getNamedArguments(@NotNull GrCall call,
                                @NotNull GroovyResolveResult resolveResult,
                                @Nullable String argumentName,
                                boolean forCompletion,
                                @NotNull Map<String, NamedArgumentDescriptor> result)