/// <summary>
        ///    <para>
        ///       Edits the value specified.
        ///    </para>
        /// </summary>
        /// <param name='context'>
        ///    An <see cref='System.ComponentModel.ITypeDescriptorContext'/> that specifies the context of the value to edit.
        /// </param>
        /// <param name=' provider'>
        ///    An <see cref='System.IServiceProvider'/> .
        /// </param>
        /// <param name=' value'>
        ///    The object to edit.
        /// </param>
        /// <returns>
        ///    <para>
        ///       The updated value.
        ///    </para>
        /// </returns>
        public override Object EditValue(ITypeDescriptorContext context, IServiceProvider provider, Object value)
        {
            IDesignerHost designerHost = (IDesignerHost)context.GetService(typeof(IDesignerHost));

            Debug.Assert(designerHost != null, "Did not get DesignerHost service.");

            Debug.Assert(context.Instance is ObjectList, "Expected objectlist");
            ObjectList _objectList = (ObjectList)context.Instance;

            ObjectListDesigner _designer = (ObjectListDesigner)designerHost.GetDesigner(_objectList);

            Debug.Assert(_designer != null, "Did not get designer for component");

            _designer.InvokePropertyBuilder(ObjectListComponentEditor.IDX_FIELDS);
            return(value);
        }
        /// <summary>
        ///    <para>
        ///       Edits the value specified.
        ///    </para>
        /// </summary>
        /// <param name='context'>
        ///    An <see cref='System.ComponentModel.ITypeDescriptorContext'/> that specifies the context of the value to edit.
        /// </param>
        /// <param name=' provider'>
        ///    An <see cref='System.IServiceProvider'/> .
        /// </param>
        /// <param name=' value'>
        ///    The object to edit.
        /// </param>
        /// <returns>
        ///    <para>
        ///       The updated value.
        ///    </para>
        /// </returns>
        public override Object EditValue(ITypeDescriptorContext context, IServiceProvider provider, Object value)
        {
            Debug.Assert(context != null);

            ObjectList objectList = context.Instance as ObjectList;

            Debug.Assert(objectList != null);

            ObjectListDesigner designer = GetDesigner(context) as ObjectListDesigner;

            Debug.Assert(designer != null);

            designer.InvokePropertyBuilder(ObjectListComponentEditor.IDX_GENERAL);

            return(objectList.TableFields);
        }