@Override public DbSessionFuture<Void> rollback() { if (!isInTransaction()) { throw new DbException("No transaction has been started to rollback"); } checkClosed(); synchronized (lock) { final MySqlRequest request = queRequest(MySqlRequests.rollbackTransaction(this)); isInTransaction = false; return (DbSessionFuture<Void>) request.getFuture(); } }