@SuppressWarnings({ "unchecked", "rawtypes" })
    default Object collectInto(Type containerType) {
        return scanResultSet((resultSetSupplier, ctx) -> {
            Collector collector = ctx.findCollectorFor(containerType)
                    .orElseThrow(() -> new NoSuchCollectorException("No collector registered for container type " + containerType));
            Type elementType = ctx.findElementTypeFor(containerType)
                    .orElseThrow(() -> new ElementTypeNotFoundException("Unknown element type for container type " + containerType));
            RowMapper<?> rowMapper = ctx.findMapperFor(elementType)
                    .orElseThrow(() -> new NoSuchMapperException("No mapper registered for element type " + elementType));

            return ResultIterable.of(resultSetSupplier, rowMapper, ctx).collect(collector);
        });
    }
Collect the results into a container of the given type. A collector
must be registered for the container type, which knows the element type
for the container. A mapper must be registered for the element type.
<p>
This method is equivalent to {@code ResultBearing.mapTo(elementType).collect(containerCollector)}.
</p>

@param containerType the container type into which results will be collected
@return a container into which result rows have been collected
core/src/main/java/org/jdbi/v3/core/result/ResultBearing.java