public override object Instantiate(UnmarshallingContext context)
        {
            object obj = context.PersistentObject();

            if (obj == null)
            {
                obj = context.Read(TypeHandler());
                context.SetObjectWeak(obj);
            }
            context.SetStateClean();
            return(obj);
        }