/// <summary>
        ///     Adds the field to the table.
        /// </summary>
        /// <param name="source">The source.</param>
        /// <param name="name">The name.</param>
        /// <param name="type">The type.</param>
        /// <param name="length">The length.</param>
        /// <param name="trackCancel">The track cancel.</param>
        /// <param name="eventHandler">The events.</param>
        public static void AddField(this ITable source, string name, Type type, int length, ITrackCancel trackCancel, IGeoProcessorEvents eventHandler)
        {
            AddField gp = new AddField();

            gp.in_table     = source;
            gp.field_name   = name;
            gp.field_type   = type == typeof(string) ? "TEXT" : type.Name.ToUpperInvariant();
            gp.field_length = length;

            gp.Run(trackCancel, eventHandler);
        }