text: /**
   * ProWritingAid API V2
   * Official ProWritingAid API Version 2
   *
   * OpenAPI spec version: v2
   * Contact: hello@prowritingaid.com
   *
   * NOTE: This class is auto generated by the swagger code generator program.
   * https://github.com/swagger-api/swagger-codegen.git
   *
   * Swagger Codegen version: 2.4.0-SNAPSHOT
   *
   * Do not edit the class manually.
   *
   */
  
  (function(root, factory) {
    if (typeof define === 'function' && define.amd) {
      // AMD. Register as an anonymous module.
      define(['ApiClient'], factory);
    } else if (typeof module === 'object' && module.exports) {
      // CommonJS-like environments that support module.exports, like Node.
      module.exports = factory(require('../ApiClient'));
    } else {
      // Browser globals (root is window)
      if (!root.ProWritingAidApi) {
        root.ProWritingAidApi = {};
      }
      root.ProWritingAidApi.DocTag = factory(root.ProWritingAidApi.ApiClient);
    }
  }(this, function(ApiClient) {
    'use strict';
  
  
  
  
    /**
     * The DocTag model module.
     * @module model/DocTag
     * @version 2.0.0
     */
  
    /**
     * Constructs a new <code>DocTag</code>.
     * @alias module:model/DocTag
     * @class
     * @param startPos {Number} The start position of the suggestion. 0 based
     * @param endPos {Number} The end position of the suggestion. 0 based
     * @param isSubTag {Boolean} Identifies that this suggestion is a part of larger one
     */
    var exports = function(startPos, endPos, isSubTag) {
      var _this = this;
  
      _this['startPos'] = startPos;
      _this['endPos'] = endPos;
  
  
  
  
  
  
  
      _this['isSubTag'] = isSubTag;
  
  
  
    };
  
    /**
     * Constructs a <code>DocTag</code> from a plain JavaScript object, optionally creating a new instance.
     * Copies all relevant properties from <code>data</code> to <code>obj</code> if supplied or a new instance if not.
     * @param {Object} data The plain JavaScript object bearing properties of interest.
     * @param {module:model/DocTag} obj Optional instance to populate.
     * @return {module:model/DocTag} The populated <code>DocTag</code> instance.
     */
    exports.constructFromObject = function(data, obj) {
      if (data) {
        obj = obj || new exports();
  
        if (data.hasOwnProperty('startPos')) {
          obj['startPos'] = ApiClient.convertToType(data['startPos'], 'Number');
        }
        if (data.hasOwnProperty('endPos')) {
          obj['endPos'] = ApiClient.convertToType(data['endPos'], 'Number');
        }
        if (data.hasOwnProperty('report')) {
          obj['report'] = ApiClient.convertToType(data['report'], 'String');
        }
        if (data.hasOwnProperty('urls')) {
          obj['urls'] = ApiClient.convertToType(data['urls'], ['String']);
        }
        if (data.hasOwnProperty('category')) {
          obj['category'] = ApiClient.convertToType(data['category'], 'String');
        }
        if (data.hasOwnProperty('categoryDisplayName')) {
          obj['categoryDisplayName'] = ApiClient.convertToType(data['categoryDisplayName'], 'String');
        }
        if (data.hasOwnProperty('subcategory')) {
          obj['subcategory'] = ApiClient.convertToType(data['subcategory'], 'String');
        }
        if (data.hasOwnProperty('hint')) {
          obj['hint'] = ApiClient.convertToType(data['hint'], 'String');
        }
        if (data.hasOwnProperty('suggestions')) {
          obj['suggestions'] = ApiClient.convertToType(data['suggestions'], ['String']);
        }
        if (data.hasOwnProperty('isSubTag')) {
          obj['isSubTag'] = ApiClient.convertToType(data['isSubTag'], 'Boolean');
        }
        if (data.hasOwnProperty('helpId')) {
          obj['helpId'] = ApiClient.convertToType(data['helpId'], 'String');
        }
        if (data.hasOwnProperty('id')) {
          obj['id'] = ApiClient.convertToType(data['id'], 'String');
        }
        if (data.hasOwnProperty('invisible')) {
          obj['invisible'] = ApiClient.convertToType(data['invisible'], 'Boolean');
        }
      }
      return obj;
    }
  
    /**
     * The start position of the suggestion. 0 based
     * @member {Number} startPos
     */
    exports.prototype['startPos'] = undefined;
    /**
     * The end position of the suggestion. 0 based
     * @member {Number} endPos
     */
    exports.prototype['endPos'] = undefined;
    /**
     * Report Id
     * @member {String} report
     */
    exports.prototype['report'] = undefined;
    /**
     * List of source documents found by plagiarism checker
     * @member {Array.<String>} urls
     */
    exports.prototype['urls'] = undefined;
    /**
     * Suggestion's category
     * @member {String} category
     */
    exports.prototype['category'] = undefined;
    /**
     * Suggetsion's category display name
     * @member {String} categoryDisplayName
     */
    exports.prototype['categoryDisplayName'] = undefined;
    /**
     * Suggestion's subcategory
     * @member {String} subcategory
     */
    exports.prototype['subcategory'] = undefined;
    /**
     * Short suggestion's description
     * @member {String} hint
     */
    exports.prototype['hint'] = undefined;
    /**
     * List of possible replacements
     * @member {Array.<String>} suggestions
     */
    exports.prototype['suggestions'] = undefined;
    /**
     * Identifies that this suggestion is a part of larger one
     * @member {Boolean} isSubTag
     */
    exports.prototype['isSubTag'] = undefined;
    /**
     * TODO DOCS
     * @member {String} helpId
     */
    exports.prototype['helpId'] = undefined;
    /**
     * Suggestion's Id
     * @member {String} id
     */
    exports.prototype['id'] = undefined;
    /**
     * Is tag invisible?
     * @member {Boolean} invisible
     */
    exports.prototype['invisible'] = undefined;
  
  
  
    return exports;
  }));
  
  
  