@Override
    public @NonNull CompletableFuture<Iterable<@NonNull Suggestion>> suggestionsFuture(
            final @NonNull CommandContext<C> context,
            final @NonNull CommandInput input
    ) {
        try {
            final List<Object> arguments = this.createParameterValues(
                    context, this.parameters(), Arrays.asList(context, input, input.lastRemainingToken())
            ).stream().map(ParameterValue::value).collect(Collectors.toList());
            return mapSuggestions(this.methodHandle().invokeWithArguments(arguments));
        } catch (final Throwable t) {
            throw new RuntimeException(t);
        }
    }
Creates a new provider.

@param instance         instance that owns the method
@param method           the annotated method
@param injectorRegistry injector registry
cloud-annotations/src/main/java/org/incendo/cloud/annotations/suggestion/MethodSuggestionProvider.java