}
public void resume(Transaction transaction) throws InvalidTransactionException, IllegalStateException, SystemException {
if (log.isDebugEnabled()) { log.debug("resuming " + transaction); }
if (transaction == null)
throw new InvalidTransactionException("resumed transaction cannot be null");
if (!(transaction instanceof BitronixTransaction))
throw new InvalidTransactionException("resumed transaction must be an instance of BitronixTransaction");
BitronixTransaction tx = (BitronixTransaction) transaction;
if (getCurrentTransaction() != null)
throw new IllegalStateException("a transaction is already running on this thread");