public virtual bool DispatchCommand(object dataItem)
        {
            if (defaultHandlerType == null)
                return false;

            if (defaultHandler == null)
                defaultHandler = (CommandHandler) Activator.CreateInstance (defaultHandlerType);

            defaultHandler.Run (dataItem);
            return true;
        }
        public virtual void UpdateCommandInfo(CommandInfo info)
        {
            if (defaultHandlerType == null) {
                info.Enabled = false;
                if (!DisabledVisible)
                    info.Visible = false;
            } else {
                if (defaultHandler == null)
                    defaultHandler = (CommandHandler) Activator.CreateInstance (defaultHandlerType);

                if (commandArray) {
                    info.ArrayInfo = new CommandArrayInfo (info);
                    defaultHandler.Update (info.ArrayInfo);
                }
                else
                    defaultHandler.Update (info);
            }
        }