// Build extra and return
        public Extra Build(bool Compress = false)
        {
            // Encode object list to hex data
            foreach (object Child in Extra.Children)
            {
                byte[] Children = Encoding.ObjectToByteArray(Child);
                if (Compress)
                {
                    Children = Encoding.CompressByteArray(Children);
                }
                Extra.Hex += "02" + Encoding.IntegerToHexString(Children.Length) + Encoding.ByteArrayToHexString(Children);
            }

            // Check extra length against block size
            if (Extra.Hex.Length / 2 > Encoding.BlockSizeLimit())
            {
                throw new Exception("Extra size exceeds block limit");
            }

            // Output extra
            return(Extra);
        }