public <X extends Exception> void useTransaction(TransactionIsolationLevel level, HandleConsumer<X> consumer) throws X {
        inTransaction(level, consumer.asCallback());
    }
Executes <code>callback</code> in a transaction.
<p>
This form accepts a transaction isolation level which will be applied to the connection
for the scope of this transaction, after which the original isolation level will be restored.
</p>

@param level    the transaction isolation level which will be applied to the connection for the scope of this
                transaction, after which the original isolation level will be restored.
@param consumer a callback which will receive an open handle, in a transaction.
@param <X>      exception type thrown by the callback, if any
@throws X any exception thrown by the callback
core/src/main/java/org/jdbi/v3/core/Handle.java