public void print_tree()
{
Console.Write("history ({0}): ", this.History.Count);
foreach (var symbol in this.History) {
Console.Write("{0},", symbol);
}
Console.WriteLine();
Console.Write("context ({0}): ", this.Context.Count);
foreach (var node in this.Context)
{
Console.Write("{0},", node.LogProbability);
}
Console.WriteLine();
this.Root.Print();
}