It should have been made final, and that would be thread-safe as in this example:
http://en.wikipedia.org/wiki/Initialization_on_demand_holder_idiom#Example_Java_Implementation

It has to be set during a test, so that's why I removed the final keyword.
When being moved to TransactionManagerServices a solution should be found for this issue as well.