}
}
public void resumeBeanTransactionContext(TransactionContext context) throws SystemException, InvalidTransactionException {
if (!(context instanceof BeanTransactionContext)) {
throw new InvalidTransactionException("Context is not a bean managed transaction context");
}
if (!context.isActive()) {
throw new InvalidTransactionException("Context is not active");
}
BeanTransactionContext beanContext = ((BeanTransactionContext) context);
// suspend the exisiting unspecified transaction context
TransactionContext callerContext = getContext();
if (!(callerContext instanceof UnspecifiedTransactionContext)) {
throw new InvalidTransactionException("Caller context is not an unspecified transaction context");
}
callerContext.suspend();
try {
beanContext.setOldContext((UnspecifiedTransactionContext) callerContext);