Exception may be thrown under certain circumstances. Typically
this is when an action has been attempted, the state of
the transaction is invalid for that action and JTA has reserved
IllegalStateException to mean something else entirely that we
can't use!