This whole try block is incorrect, I think. The if tree you copied it from is really confusing :) I *think* we can ignore transactions if they are in the session already. Either way, returning an error here would be wrong. I'll stew on this a bit.