This class provides a little bit of indirection to avoid ugly conditional object creation. It is unfortunately
a bit redundant assuming a Spring 3.0 environment, but is necessary to work with Spring WS 1.5.x.
The returned object determines whether the environment has Spring OXM as included in the Spring 3.x series of relies
or whether it has Spring OXM from Spring WS 1.5x and factories a StaxSource instance appropriately.
As the only class state maintained is to cache java reflection metadata, which is thread safe, this class is thread-safe.