/// <summary>
 /// Set the specified ImageVariant to the specified TreeNode
 /// </summary>
 /// <param name="treeNode">TreeNode to set the ImageVariant</param>
 /// <param name="imageVariant">ImageVariant to set to TreeNode</param>
 public void SetImageVariant(ExtendedTreeNode treeNode, ExtendedTreeNode.CheckedState imageVariant)
 {
     if (treeNode.IsDummy)
     {
         return;
     }
     treeNode.ImageVariant = imageVariant;
 }
        /// <summary>
        /// Set the image variant of the specified TreeNode, automatically by the directory list
        /// </summary>
        /// <param name="treeNode">TreeNode to search an set the image variant</param>
        public void SetImageVariant(ExtendedTreeNode treeNode)
        {
            if (treeNode.IsDummy)
            {
                return;
            }

            ExtendedTreeNode.CheckedState ImageVariant = ExtendedTreeNode.CheckedState.NotChecked;;
            if (this.DirectoryList == null)
            {
                this.DirectoryList = new Dictionary <string, Project.Project.DirectoryScope>();
            }

            foreach (KeyValuePair <string, Project.Project.DirectoryScope> Directroy in this.DirectoryList)
            {
                if (Directroy.Key == treeNode.DirectoryInfo.FullName && !treeNode.IsDummy)
                {
                    switch (Directroy.Value)
                    {
                    case Project.Project.DirectoryScope.All:
                        ImageVariant = ExtendedTreeNode.CheckedState.Checked;
                        break;

                    case Project.Project.DirectoryScope.Nothing:
                        ImageVariant = ExtendedTreeNode.CheckedState.NotChecked;
                        break;

                    case Project.Project.DirectoryScope.Selected:
                        ImageVariant = ExtendedTreeNode.CheckedState.Intermediate;
                        break;

                    default:
                        ImageVariant = ExtendedTreeNode.CheckedState.Question;
                        break;
                    }
                    break;  // Exit foreach, because directroy was found
                }
            }
            this.SetImageVariant(treeNode, ImageVariant);
        }