private CollectionConverter getCollectionConverter(Session session, CollectionDescriptor collectionDescriptor) {
String className = collectionDescriptor.getCollectionConverter();
Map atomicTypeConverters = this.atomicTypeConverterProvider.getAtomicTypeConverters();
if (className == null) {
return new DefaultCollectionConverterImpl(atomicTypeConverters, this, this.mapper);
} else {
return (CollectionConverter) ReflectionUtils.invokeConstructor(className, new Object[]{atomicTypeConverters, this,
this.mapper});
}