function (index) {
            var choices = this.findHighlightableChoices(),
                choice,
                data;

            if (arguments.length === 0) {
                return indexOf(choices.filter(".select2-highlighted")[0], choices.get());
            }

            if (index >= choices.length) index = choices.length - 1;
            if (index < 0) index = 0;

            this.results.find(".select2-highlighted").removeClass("select2-highlighted");

            choice = $(choices[index]);
            choice.addClass("select2-highlighted");

            this.ensureHighlightVisible();

            data = choice.data("select2-data");
            if (data) {
                this.opts.element.trigger({ type: "select2-highlight", val: this.id(data), choice: data });
            }
        }
function (index) {
            var choices = this.findHighlightableChoices(),
                choice,
                data;

            if (arguments.length === 0) {
                return indexOf(choices.filter(".select2-highlighted")[0], choices.get());
            }

            if (index >= choices.length) index = choices.length - 1;
            if (index < 0) index = 0;

            this.results.find(".select2-highlighted").removeClass("select2-highlighted");

            choice = $(choices[index]);
            choice.addClass("select2-highlighted");

            this.ensureHighlightVisible();

            data = choice.data("select2-data");
            if (data) {
                this.opts.element.trigger({ type: "select2-highlight", val: this.id(data), choice: data });
            }
        }
function ( index ) { var choices = this . findHighlightableChoices ( ) , choice , data ; if ( arguments . length === 0 ) { return indexOf ( choices . filter ( ".select2-highlighted" ) [ 0 ] , choices . get ( ) ) ; } if ( index >= choices . length ) index = choices . length - 1 ; if ( index < 0 ) index = 0 ; this . results . find ( ".select2-highlighted" ) . removeClass ( "select2-highlighted" ) ; choice = $ ( choices [ index ] ) ; choice . addClass ( "select2-highlighted" ) ; this . ensureHighlightVisible ( ) ; data = choice . data ( "select2-data" ) ; if ( data ) { this . opts . element . trigger ( { type : "select2-highlight" , val : this . id ( data ) , choice : data } ) ; } }
abstract
abstract