public CTWContextTree(int depth)
{
Context = new List<CTWContextTreeNode>();
Debug.Assert(depth >= 0);
this.Depth = depth;
this.History = new List<int> ();
this.Root = new CTWContextTreeNode(this); //refact: most of this is in clear()
this.TreeSize = 1;
this.Clear();
}