private void RegisterGenericTypeHandlers()
        {
            GenericCollectionTypeHandler handler = new GenericCollectionTypeHandler();

            handler.RegisterSupportedTypesWith(delegate(Type type)
            {
                RegisterGenericTypeHandler(type, handler);
            });

#if NET_3_5 && !CF
            _config.Reflector().RegisterCollection(new GenericCollectionTypePredicate(typeof(HashSet <>)));
#endif

            Type[] dictionaryTypes = new Type[] {
                typeof(ActivatableDictionary <,>),
                typeof(Dictionary <,>),
#if !SILVERLIGHT
                typeof(SortedList <,>),
#if !CF
                typeof(SortedDictionary <,>),
#endif
#endif
            };
            _config.RegisterTypeHandler(new GenericTypeHandlerPredicate(dictionaryTypes), new MapTypeHandler());
        }
        protected override void Configure(IConfiguration config)
        {
            GenericCollectionTypeHandler collectionHandler = new GenericCollectionTypeHandler();

            RegisterHandlerFor(config, typeof(List <int>), collectionHandler);
            RegisterHandlerFor(config, typeof(LinkedList <int>), collectionHandler);
            RegisterHandlerFor(config, typeof(Stack <int>), collectionHandler);
            RegisterHandlerFor(config, typeof(Queue <int>), collectionHandler);

            _helper = NewCollectionHelper();
            config.ObjectClass(_helper.ItemType).CascadeOnDelete(true);
        }