public void begin() throws NotSupportedException, SystemException {
TransactionContext ctx = TransactionContext.getContext();
if (ctx instanceof UnspecifiedTransactionContext == false) {
throw new NotSupportedException("Previous Transaction has not been committed");
}
UnspecifiedTransactionContext oldContext = (UnspecifiedTransactionContext) ctx;
BeanTransactionContext newContext = new BeanTransactionContext(txnManager, oldContext);
oldContext.suspend();
try {
newContext.begin();
} catch (SystemException e) {
oldContext.resume();
throw e;
} catch (NotSupportedException e) {
oldContext.resume();
throw e;
}
TransactionContext.setContext(newContext);
if(trackedConnectionAssociator != null) {