natix.CompactDS.WaveletTree.LoadNode C# (CSharp) Method

LoadNode() private method

private LoadNode ( BinaryReader Input, WT_Inner parent ) : WT_Node
Input System.IO.BinaryReader
parent WT_Inner
return WT_Node
        WT_Node LoadNode(BinaryReader Input, WT_Inner parent)
        {
            // Console.WriteLine ("xxxxxxxxx LoadNode");
            var isInner = Input.ReadBoolean ();
            if (isInner) {
                var node = new WT_Inner (parent, false);
                node.B = GenericIO<Bitmap>.Load (Input);
                var hasLeft = Input.ReadBoolean ();
                if (hasLeft) {
                    node.Left = this.LoadNode (Input, node);
                }
                var hasRight = Input.ReadBoolean ();
                if (hasRight) {
                    node.Right = this.LoadNode (Input, node);
                }
                return node;
            } else {
                // var count = Input.ReadInt32 ();
                var symbol = Input.ReadInt32 ();
                // Console.WriteLine ("--leaf> count: {0}, symbol: {1}", count, symbol);
                //var leaf = new WT_Leaf (parent, symbol, count);
                var leaf = new WT_Leaf (parent, symbol);
                this.Alphabet[symbol] = leaf;
                return leaf;
            }
        }