function MapField(name, id, keyType, type, options, comment) {
    Field.call(this, name, id, type, undefined, undefined, options, comment);

    /* istanbul ignore if */
    if (!util.isString(keyType))
        throw TypeError("keyType must be a string");

    /**
     * Key type.
     * @type {string}
     */
    this.keyType = keyType; // toJSON, marker

    /**
     * Resolved key type if not a basic type.
     * @type {ReflectionObject|null}
     */
    this.resolvedKeyType = null;

    // Overrides Field#map
    this.map = true;
}
Constructs a new map field instance.
@classdesc Reflected map field.
@extends FieldBase
@constructor
@param {string} name Unique name within its namespace
@param {number} id Unique id within its namespace
@param {string} keyType Key type
@param {string} type Value type
@param {Object.<string,*>} [options] Declared options
@param {string} [comment] Comment associated with this field