public virtual void InitializeObject(MigrationContext context)
        {
            Type        type    = context.CurrentObject.GetType();
            TypeMapping mapping = context.GetTypeMapping(type);

            if (null == mapping)
            {
                mapping = TypeMapping.Default;
            }

            FieldInfo[] fields = context.GetSerializableFields(type);
            foreach (FieldInfo field in fields)
            {
                context.EnterField(field);

                IFieldInitializer initializer = mapping.GetFieldInitializer(field.Name);
                initializer.InitializeField(context);

                context.LeaveField();
            }
        }