try {
tx.connection = acquirePooledConnection();
joinTX(tx);
// exceptions are catched and re-thrown be sendCommand()
TransactionID taID = (TransactionID) sendCommand(new DbTransaction(DbTransaction.MODE_BEGIN), true, tx.connection);
} catch (IOException e) {
throw e;
} catch (Exception e) {
throw new TransactionExc(e.toString(), TransactionExc.UNEXPECTED);
}