@Override
 public <ReturnType> ReturnType inTransaction(
     final Handle handle,
     final TransactionIsolationLevel level,
     final TransactionCallback<ReturnType> callback) {
   final TransactionIsolationLevel initial = handle.getTransactionIsolationLevel();
   try {
     handle.setTransactionIsolation(level);
     return inTransaction(handle, callback);
   } finally {
     handle.setTransactionIsolation(initial);
   }
 }