code: public Connection beginTransaction(ConnectionSource connectionSource, int isolationLevel) {
  
          Connection connection = new Connection(this, connectionSource, false);
  
          boolean success = false;
          try {
              connection.getJdbcConnection().setAutoCommit(false);
              connection.getJdbcConnection().setTransactionIsolation(isolationLevel);
              success = true;
          } catch (SQLException e) {
              throw new Sql2oException("Could not start the transaction - " + e.getMessage(), e);
          } finally {
              if (!success) {
                  connection.close();
              }
          }
  
          return connection;
      }
docs: Begins a transaction with the given isolation level. Every statement executed on the return {@link Connection}
  instance, will be executed in the transaction. It is very important to always call either the {@link org.sql2o.Connection#commit()}
  method or the {@link org.sql2o.Connection#rollback()} method to close the transaction. Use proper try-catch logic.
  @param connectionSource the {@link ConnectionSource} implementation substitution,
  that will be used instead of one from {@link Sql2o} instance.
  @param isolationLevel the isolation level of the transaction
  @return the {@link Connection} instance to use to run statements in the transaction.