BufferHeader(CachedBinaryReader reader)
        {
            var id = reader.ReadInt32 ();
            if (id != BufId)
                throw new IOException (string.Format ("Incorrect buffer id: 0x{0:X}", id));

            Length = reader.ReadInt32 ();
            TimeBase = reader.ReadUInt64 ();
            PtrBase = reader.ReadInt64 ();
            ObjBase = reader.ReadInt64 ();
            ThreadId = reader.ReadInt64 ();
            MethodBase = reader.ReadInt64 ();
        }