This is the only place where NoOpJTATransaction is used. The only requirement that I have found of the returned Transactions, is that they are non-null and have useful equals and hashCode methods. It's not very pretty; basically any Object would do. I'm also not fond of throwing away that SystemException.