private void ShowEmotePreview(TreeNode node, EmoteNodeProperties.EmoteCondition[] conditions)
        {
            EmoteNodeProperties properties = (EmoteNodeProperties)node.Tag;

            EmoteNodeProperties.EmoteCondition[] allConditions = new EmoteNodeProperties.EmoteCondition[conditions.Length + (properties.Condition != EmoteNodeProperties.EmoteCondition.None ? 1 : 0)];
            conditions.CopyTo(allConditions, 0);
            if (properties.Condition != EmoteNodeProperties.EmoteCondition.None)
            {
                allConditions[allConditions.Length - 1] = properties.Condition;
            }

            EmoteNode dummyEmoteNode = new EmoteNode(node.FullPath, properties);

            if (node.Nodes.Count == 0)
            {
                this.AddOutputNode(this.ToolStripComboBox_Configuration.SelectedItem.ToString() +
                                   " " + dummyEmoteNode.CompletedText, allConditions);
            }
            else
            {
                if (properties.MustContinue == false)
                {
                    this.AddOutputNode(this.ToolStripComboBox_Configuration.SelectedItem.ToString() +
                                       " " + dummyEmoteNode.CompletedText, allConditions);
                }

                foreach (TreeNode childNode in node.Nodes)
                {
                    this.ShowEmotePreview(childNode, allConditions);
                }
            }
        }
 private void AddOutputNode(string text, EmoteNodeProperties.EmoteCondition condition)
 {
     this.AddOutputNode(text, new EmoteNodeProperties.EmoteCondition[] { condition });
 }