@Override
    @SuppressWarnings("unchecked")
    public @NonNull ArgumentParseResult<@NonNull T> parse(
            final @NonNull CommandContext<@NonNull C> commandContext,
            final @NonNull CommandInput commandInput
    ) {
        final List<Object> arguments = this.createParameterValues(
                commandContext,
                this.parameters(),
                Collections.singletonList(commandInput)
        ).stream().map(ParameterValue::value).collect(Collectors.toList());
        try {
            return ArgumentParseResult.success(
                    (T) this.methodHandle().invokeWithArguments(arguments)
            );
        } catch (final Throwable t) {
            return ArgumentParseResult.failure(t);
        }
    }
Creates a new parser.

@param suggestionProvider suggestion 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/parser/MethodArgumentParser.java