I think the current behaviour is correct, and this behaviour would introduce some real problems. In particular if caching is used then the object is only created once, and as a result the class loader passed in here is essentially random, depending on the CL used for the first lookup (which is just asking for class loader leaks as a result).