public override ModelTreeNode AddItem()
        {
            var item = new ShopCommand();
            var node = new CommandTreeNode()
            {
                Model = item
            };

            node.AddDefaultChildNodesHack();
            Nodes.Add(node);

            return(node);
        }
        public override ModelTreeNode AddItem()
        {
            var model = new ShopCommand();
            var node  = new CommandTreeNode();

            node.AddDefaultChildNodesHack();

            node.Model = model;

            AddSibling(node);

            return(node);
        }
        public override void AddChildModel(IModel model)
        {
            var node = new CommandTreeNode()
            {
                Model = model
            };

            node.AddDefaultChildNodesHack();

            //set child models
            var shopCommand = (ShopCommand)model;

            node.RequiredItemsTreeNode.AddChildModels(shopCommand.RequiredItems.Cast <IModel>().ToList());

            //add node to tree
            Nodes.Add(node);
        }