think about what part of the graph you want to do in 1 transaction. where would you ideally put the transaction boundaries.
spawning threads doesn't really help if you have to synchronize access to the jdbc connection after all.
and usually the number of computations done in executing the different concurrent branches until a waitstate is reached, is neglectable.
'until a wait state is reached' is crucial here. since that is when the leaveNode should return.
asynchronous continuations can be used to demarcate transactions. this also leads to a wait state and will also cause the leaveNode to return.