/// <summary>
        /// Print the concept
        ///
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        private TreeViewItem PrintConcept(Concept value)
        {
            TreeViewItem treeViewItem = new TreeViewItem();

            treeViewItem.Header = "Concept - " + value.name;
            if (value.uuid != "")
            {
                treeViewItem.Items.Add("UUID: " + value.uuid);
            }
            if (value.Override != "")
            {
                treeViewItem.Items.Add("Override: " + value.Override);
            }

            ConceptTemplate conceptTemplate = value.getConceptTemplate();

            if (conceptTemplate.name != "")
            {
                treeViewItem.Items.Add(PrintConceptTemplate(conceptTemplate));
            }

            Dictionary <string, Requirement> allRequirements = value.GetAllRequirements();

            if (allRequirements.Count > 0)
            {
                TreeViewItem requirementsItems = new TreeViewItem();
                requirementsItems.Header = "Requirements";

                foreach (var item in allRequirements)
                {
                    TreeViewItem treeViewItem1 = new TreeViewItem();
                    treeViewItem1 = PrintRequirement(item.Value);
                    requirementsItems.Items.Add(treeViewItem1);
                }
                treeViewItem.Items.Add(requirementsItems);
            }

            Dictionary <string, Concept> allSubConcepts = value.GetAllSubConcepts();

            if (allSubConcepts.Count > 0)
            {
                TreeViewItem subConceptsItems = new TreeViewItem();
                subConceptsItems.Header = "SubConcepts";
                foreach (var item in allSubConcepts)
                {
                    TreeViewItem treeViewItem1 = new TreeViewItem();
                    treeViewItem1 = PrintConcept(item.Value);
                    subConceptsItems.Items.Add(treeViewItem1);
                }
                treeViewItem.Items.Add(subConceptsItems);
            }
            return(treeViewItem);
        }