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

LoadNode() private method

private LoadNode ( BinaryReader Input, WTM_Inner parent ) : WTM_Node
Input System.IO.BinaryReader
parent WTM_Inner
return WTM_Node
        WTM_Node LoadNode(BinaryReader Input, WTM_Inner parent)
        {
            // Console.WriteLine ("xxxxxxxxx LoadNode");
            var isInner = Input.ReadBoolean ();
            if (isInner) {
                var arity = Input.ReadInt32 ();
                var node = new WTM_Inner (arity, parent, false);
                node.SEQ = GenericIO<Sequence>.Load(Input);
                node.CHILDREN = new WTM_Node[arity];
                for (int i = 0; i < arity; ++i) {
                    if (Input.ReadBoolean()) {
                        node.CHILDREN[i] = 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 WTM_Leaf (parent, symbol, count);
                var leaf = new WTM_Leaf (parent, symbol);
                this.Alphabet[symbol] = leaf;
                return leaf;
            }
        }