public void Deserialize(byte[] Data)
        {
            List<ProtocolDataType> PDTs = ProtocolPackager.UnPackRaw(Data);
            int cnt = 0;

            Init();

            while (cnt < (int)PDTs.Count)
            {
                ProtocolDataType PDT = PDTs[cnt++];

                if (PDT.NameType == 0)
                {
                    ProtocolPackager.UnpackVarint(PDT, 0, ref LeafCount);
                }
                else if (PDT.NameType == 1)
                {
                    byte[] _bv = new byte[0];
                    if (ProtocolPackager.UnpackByteVector(PDT, 1, ref _bv))
                    {
                        AccountInfo nie = new AccountInfo();
                        nie.Deserialize(_bv);
                        Leaves.Add(nie);
                    }
                }
            }
        }