@Beta
    public Optional<Function<Object, Argument>> prepareFor(final QualifiedType<?> type) {
        if (!isPreparedArgumentsEnabled()) {
            return Optional.empty();
        }
        final Function<Object, Argument> prepared = preparedFactories.get(type);
        if (prepared != null) {
            return Optional.of(prepared);
        }
        for (final QualifiedArgumentFactory factory : factories) {
            if (factory instanceof QualifiedArgumentFactory.Preparable) {
                final Optional<Function<Object, Argument>> argumentFactory =
                        ((QualifiedArgumentFactory.Preparable) factory).prepare(type, registry);
                if (argumentFactory.isPresent()) {
                    preparedFactories.putIfAbsent(type, argumentFactory.get());
                    return argumentFactory;
                }
            }
        }
        return Optional.empty();
    }
Obtain a prepared argument function for given type in the given context.

@param type  the qualified type of the argument.
@return an Argument factory function for the given value.
core/src/main/java/org/jdbi/v3/core/argument/Arguments.java