/// <summary>
        /// Sort the tree view item source collection
        /// </summary>
        private void Sort()
        {
            List <DisplayableTreeViewItem> items = ItemSource.ToList <DisplayableTreeViewItem>();

            items.Sort((x, y) => CompareItems(x, y));

            ItemSource.Clear();
            for (int i = 0; i < items.Count; i++)
            {
                ItemSource.Insert(i, Sort(items[i]));
            }
        }