@SuppressWarnings("unchecked")
    default <R, X extends Exception> R inTransaction(TransactionalCallback<R, This, X> callback) throws X {
        return withHandle(h -> h.inTransaction(txn -> callback.inTransaction((This) this)));
    }
Executes the given callback within a transaction, returning the value returned by the callback.

@param callback the callback to execute
@param <R>      method return type
@param <X>      exception optionally thrown by the callback.
@return the value returned by the callback.
@throws X any exception thrown by the callback.
sqlobject/src/main/java/org/jdbi/v3/sqlobject/transaction/Transactional.java