public override object CreateInstance()
        {
            if (label == null)
            {
                label = Id;
            }

            label = StringParserService.Parse(label);
            if (icon != null)
            {
                icon = CommandCodon.GetStockId(Addin, icon);
            }
            CommandEntrySet cset = new CommandEntrySet(label, icon);

            cset.CommandId = Id;
            cset.AutoHide  = autohide;
            foreach (InstanceExtensionNode e in ChildNodes)
            {
                CommandEntry ce = e.CreateInstance() as CommandEntry;
                if (ce != null)
                {
                    cset.Add(ce);
                }
                else
                {
                    throw new InvalidOperationException("Invalid ItemSet child: " + e);
                }
            }
            return(cset);
        }
        public override object CreateInstance()
        {
            object id = CommandCodon.ParseCommandId(this);

            return(new CommandEntry(id, label, disabledVisible));
        }