protected override ManyToOneMapModel VisitManyToOneMember(ManyToOneMapModel model)
        {
            this.ProcessMember(model);

            if (!model.IsLazy.HasValue)
            {
                //TODO: Make this a convention...
                var memberType = ReflectionUtil.GetMemberValueType(model.Getter);
                model.IsLazy = memberType.IsSealed;
            }

            return base.VisitManyToOneMember(model);
        }
        protected override PersistentMemberMapModel VisitPersistentMember(PersistentMemberMapModel model)
        {
            var memberType = ReflectionUtil.GetMemberValueType(model.Getter);
            var collectionConvention = this.conventions.GetCollectionConvention(memberType);
            if (collectionConvention.IsCollection(memberType))
            {
                var newModel = new CollectionMemberMapModel()
                {
                    Key = model.Key,
                    Getter = model.Getter,
                    Setter = model.Setter,
                    PersistNull = model.PersistNull
                };

                return (CollectionMemberMapModel)this.Visit(newModel);
            }
            else if (this.rootClassTypes.Contains(memberType))
            {
                var newModel = new ManyToOneMapModel()
                {
                    Key = model.Key,
                    Getter = model.Getter,
                    Setter = model.Setter,
                    PersistNull = model.PersistNull
                };

                return (ManyToOneMapModel)this.Visit(newModel);
            }
            else
            {
                var newModel = new ConvertibleMemberMapModel()
                {
                    Key = model.Key,
                    Getter = model.Getter,
                    Setter = model.Setter,
                    PersistNull = model.PersistNull
                };

                return (ConvertibleMemberMapModel)this.Visit(newModel);
            }

            return base.VisitPersistentMember(model);
        }