static <Opt, Box> ColumnMapper<?> create(ColumnGetter<Box> columnGetter, Supplier<Opt> empty, Function<Box, Opt> present) {
        return (r, columnNumber, ctx) -> Optional.ofNullable(new GetterMapper<>(columnGetter).map(r, columnNumber, ctx))
                .map(present)
                .orElseGet(empty);
    }
Column mapper factory which knows how to map Optionals:
<ul>
    <li>{@link Optional}</li>
    <li>{@link OptionalInt}</li>
    <li>{@link OptionalLong}</li>
    <li>{@link OptionalDouble}</li>
</ul>
core/src/main/java/org/jdbi/v3/core/mapper/OptionalColumnMapperFactory.java