case Status.STATUS_COMMITTING:
throw new IllegalStateException("already started committing. " + this);
case Status.STATUS_COMMITTED:
throw new IllegalStateException("already committed. " + this);
case Status.STATUS_MARKED_ROLLBACK:
throw new RollbackException("already marked for rollback " + this);
case Status.STATUS_ROLLING_BACK:
throw new RollbackException("already started rolling back. " + this);
case Status.STATUS_ROLLEDBACK:
throw new RollbackException("already rolled back. " + this);
case Status.STATUS_NO_TRANSACTION:
throw new IllegalStateException("no transaction. " + this);
case Status.STATUS_UNKNOWN:
throw new IllegalStateException("unknown state " + this);
default: