class IntentModelArgumentResolver implements ArgumentResolver {

    @Override
    public Optional<Object> resolve(ArgumentResolverContext input) {
        try {
            if (input.requestTypeEquals(IntentRequest.class)) {
                Object model = intentMapper.parseIntent((IntentRequest) input.unwrapRequest());
                if (input.getMethodParameter().getType().isInstance(model)) {
                    return Optional.of(model);
                }
            }
        } catch (IntentParseException e) {
        }
        return Optional.empty();
    }

    public  IntentModelArgumentResolver(IntentMapper intentMapper);

}