private void VisitNode(DialogueData data, int childCount, TreeList <IDialogueContext> tree, List <IDialogueContext> contexts)
    {
        IDialogueContext context = data.GetDialogueContext();

        contexts.Add(context);
        tree.Insert(new TreeNode <IDialogueContext>(context, childCount));
    }