default T first() {
        try (ResultIterator<T> iter = iterator()) {
            if (!iter.hasNext()) {
                throw new IllegalStateException("Expected at least one element, but found none");
            }

            return iter.next();
        }
    }
Returns the first row in the result set. Returns {@code null} if the row itself is
{@code null}.
@throws IllegalStateException if zero rows are returned
@return the first row in the result set.
core/src/main/java/org/jdbi/v3/core/result/ResultIterable.java