private static MarbleDiagram GetDiagram(MarbleDiagramTree tree, string name)
        {
            var mi = tree.Items.FirstOrDefault(m => m.Name == name);
            if (mi == null)
            {
                mi = new MarbleDiagram()
                {
                    Name = name
                };
                tree.Items.Add(mi);
            }

            return mi;
        }
        private static MarbleDiagramTree GetItem(SimpleObservableCollection<MarbleDiagramTree> tree, string name)
        {
            var mi = tree.FirstOrDefault(m => m.Name == name);
            if (mi == null)
            {
                mi = new MarbleDiagramTree()
                {
                    Name = name
                };
                tree.Add(mi);
            }

            return mi;
        }
        private static MarbleDiagram GetDiagram(MarbleDiagramTree tree, string name)
        {
            var mi = tree.Items.FirstOrDefault(m => m.Name == name);

            if (mi == null)
            {
                mi = new MarbleDiagram()
                {
                    Name = name
                };
                tree.Items.Add(mi);
            }

            return(mi);
        }
        private static MarbleDiagramTree GetItem(SimpleObservableCollection <MarbleDiagramTree> tree, string name)
        {
            var mi = tree.FirstOrDefault(m => m.Name == name);

            if (mi == null)
            {
                mi = new MarbleDiagramTree()
                {
                    Name = name
                };
                tree.Add(mi);
            }

            return(mi);
        }