/// <summary>
        /// Provides metadata to the model metadata creation process.
        /// </summary>
        /// <param name="metadata">The model metadata.</param>
        protected override void InternalOnMetadataCreated(ModelMetadata metadata)
        {
            EditOptions.DataEvents      = DataEvents;
            EditOptions.DataUrl         = DataUrl;
            EditOptions.HtmlAttributes  = HtmlAttributes;
            EditOptions.PostData        = PostData;
            EditOptions.ValueDictionary = ValueDictionary;

            if (EditType == JqGridColumnEditTypes.JQueryUIAutocomplete)
            {
                EditType = JqGridColumnEditTypes.Text;
                EditOptions.ConfigureJQueryUIAutocomplete();
            }
            else if (EditType == JqGridColumnEditTypes.JQueryUIDatepicker)
            {
                EditType = JqGridColumnEditTypes.Text;
                EditOptions.ConfigureJQueryUIDatepicker(metadata);
            }
            else if (EditType == JqGridColumnEditTypes.JQueryUISpinner)
            {
                EditType = JqGridColumnEditTypes.Text;
                EditOptions.ConfigureJQueryUISpinner();
            }
            else if (EditType == JqGridColumnEditTypes.SelectsCascadeParent)
            {
                EditType = JqGridColumnEditTypes.Select;
                EditOptions.ConfigureSelectsCascadeParent();
            }

            metadata.SetColumnDateFormat(DateFormat);
            metadata.SetColumnEditable(Editable);
            metadata.SetColumnEditOptions(EditOptions);
            metadata.SetColumnEditRules(Rules);
            metadata.SetColumnEditType(EditType);
            metadata.SetColumnFormOptions(FormOptions);
        }