if (classDescriptorMap == null) {
ClassDescriptorMap classDescriptorMap = new ClassDescriptorMap(this);
FaultFactory faultFactory = new SingletonFaultFactory();
// add factories in reverse of the desired chain order
classDescriptorMap.addFactory(new ValueHolderDescriptorFactory(
classDescriptorMap));
classDescriptorMap.addFactory(new EnhancedPojoDescriptorFactory(
classDescriptorMap,
faultFactory));
classDescriptorMap.addFactory(new DataObjectDescriptorFactory(