public void transitionPerformed(FSMTransitionEvent<TxState> e) {
TxState fromState = e.fromState();
TxState toState = e.toState();
if (TxState.TERMINATED.equals(toState)) {
if (TxState.COMMITTING.equals(fromState)) {
publishDomainEvent(new TransactionCommittedEvent(root_));
} else if (TxState.ABORTING.equals(fromState)) {
publishDomainEvent(new TransactionAbortedEvent(root_));
} else if (TxState.PREPARING.equals(fromState)) {
publishDomainEvent(new TransactionReadOnlyEvent(root_));
}