public void Write(object o)
        {
            var ms = new MemoryStream();
            var bw = new BinaryWriter(ms);

            WriteCore(bw, o);

            m_core.BitWrite((int)ms.Length);
            ms.Position = 0;
            ms.CopyToN(m_core, (int)ms.Length);
        }
        public void Serialize(Type t)
        {
            var ms = new MemoryStream();
            var bw = new BinaryWriter(ms);

            SerializeCore(bw, t);

            m_core.BitWrite((int)ms.Length);
            ms.Position = 0;
            ms.CopyToN(m_core, (int)ms.Length);
        }