/// <summary>
        /// Upon receiving data, unpack the byte array into the class members
        /// </summary>
        public override void Unpack(byte[] buffer)
        {
            // Read the Scmp.Base structure
            base.Unpack(buffer);

            // Create reader to easily unpack the network buffer
            var reader = new SledNetworkBufferReader(buffer, SizeOf);

            Name = reader.ReadString();
            KeyType = reader.ReadInt16();
            Value = reader.ReadString();
            What = reader.ReadInt16();

            StackLevel = reader.ReadInt16();
            Index = reader.ReadInt32();

            var count = reader.ReadUInt16();
            for (UInt16 i = 0; i < count; ++i)
            {
                var name = reader.ReadString();
                var type = reader.ReadInt16();
                Hierarchy.Add(new KeyValuePair<string, int>(name, type));
            }
        }
        /// <summary>
        /// Upon receiving data, unpack the byte array into the class members
        /// </summary>
        public override void Unpack(byte[] buffer)
        {
            // Read the Scmp.Base structure
            base.Unpack(buffer);

            // Create reader to easily unpack the network buffer
            var reader = new SledNetworkBufferReader(buffer, SizeOf);

            FunctionName = reader.ReadString();
            LineDefined = reader.ReadInt32();
            StackLevel = reader.ReadInt16();
        }