public IPropertyMappingProvider Visit(CollectionMap collectionMap)
        {
            var result = new CollectionMappingProvider(CreatePropertyMapping(collectionMap), collectionMap.StorageStrategy);
            if (collectionMap.ElementConverterType != null)
            {
                result.ElementConverterType = collectionMap.ElementConverterType;
            }

            return result;
        }
        public ICollectionMappingProvider Visit(CollectionAttribute collectionAttribute, PropertyInfo property)
        {
            var propertyMapping = CreatePropertyMapping(collectionAttribute, property);
            var result = new CollectionMappingProvider(propertyMapping, collectionAttribute.StoreAs);
            if (collectionAttribute.ElementConverterType != null)
            {
                result.ElementConverterType = collectionAttribute.ElementConverterType;
            }

            return result;
        }