Added cached Instantiator to be used in production instead of the Runtime version

Runtime Instantiator is dangerous to be used in Production, and you probably should not need to code your own implementation of a cached one everytime you need to use Lazy Loading. Solution, use this one instead.

Original solution by Dries Vanlerberghe.
Code sponsored by Capgemini.
yep, you are right, that was a copy/paste in a loop context where we wanted to execute the setProxyInstantiator just once. Good call, thanks :-)