handled a background (repear) thread rolling back a transaction by setting a flag. The original app thread checks the flag and processes the rollback, rather than the background thread itself. The checks occur at Session API calls' entries and exits.
To prevent Session methods from continuing processing (and ultimately causing NPEs, etc.), throw an NPE when a delayed rollback is found and processed.