code: function CodeHintList(editor, insertHintOnTab, maxResults) {
  
          /**
           * The list of hints to display
           *
           * @type {Array.<string|jQueryObject>}
           */
          this.hints = [];
  
          /**
           * The selected position in the list; otherwise -1.
           *
           * @type {number}
           */
          this.selectedIndex = -1;
  
          /**
           * The maximum number of hints to display. Can be overriden via maxCodeHints pref
           *
           * @type {number}
           */
          this.maxResults = ValidationUtils.isIntegerInRange(maxResults, 1, 1000) ? maxResults : 50;
  
          /**
           * Is the list currently open?
           *
           * @type {boolean}
           */
          this.opened = false;
  
          /**
           * The editor context
           *
           * @type {Editor}
           */
          this.editor = editor;
  
          /**
           * Whether the currently selected hint should be inserted on a tab key event
           *
           * @type {boolean}
           */
          this.insertHintOnTab = insertHintOnTab;
  
          /**
           * Pending text insertion
           *
           * @type {string}
           */
          this.pendingText = "";
  
          /**
           * The hint selection callback function
           *
           * @type {Function}
           */
          this.handleSelect = null;
  
          /**
           * The hint list closure callback function
           *
           * @type {Function}
           */
          this.handleClose = null;
  
          /**
           * The hint list menu object
           *
           * @type {jQuery.Object}
           */
          this.$hintMenu =
              $("<li class='dropdown codehint-menu'></li>")
                  .append($("<a href='#' class='dropdown-toggle' data-toggle='dropdown'></a>")
                          .hide())
                  .append("<ul class='dropdown-menu'></ul>");
  
          this._keydownHook = this._keydownHook.bind(this);
      }
docs: Displays a popup list of hints for a given editor context.
  
  @constructor
  @param {Editor} editor
  @param {boolean} insertHintOnTab Whether pressing tab inserts the selected hint
  @param {number} maxResults Maximum hints displayed at once. Defaults to 50