/// <summary>
        /// Gets the items.
        /// </summary>
        /// <param name="smartGenerateParameters">
        /// The get menu items parameters.
        /// </param>
        /// <returns>
        /// The items.
        /// </returns>
        public virtual IEnumerable<ISmartGenerateAction> GetMenuItems(SmartGenerateParameters smartGenerateParameters)
        {
            this.items = new List<ISmartGenerateAction>();

              this.GetItems(smartGenerateParameters);

              return this.items;
        }
 /// <summary>
 /// Gets the smart generate items.
 /// </summary>
 /// <param name="smartGenerateParameters">
 /// The get menu items parameters.
 /// </param>
 protected abstract void GetItems(SmartGenerateParameters smartGenerateParameters);