function () {
            if (!this.opened()) return;

            var cid = this.containerId,
                scroll = "scroll." + cid,
                resize = "resize."+cid,
                orient = "orientationchange."+cid;

            // unbind event listeners
            this.container.parents().add(window).each(function () { $(this).off(scroll).off(resize).off(orient); });

            this.clearDropdownAlignmentPreference();

            $("#select2-drop-mask").hide();
            this.dropdown.removeAttr("id"); // only the active dropdown has the select2-drop id
            this.dropdown.hide();
            this.container.removeClass("select2-dropdown-open");
            this.results.empty();


            this.clearSearch();
            this.search.removeClass("select2-active");
            this.opts.element.trigger($.Event("select2-close"));
        }
function () {
            if (!this.opened()) return;

            var cid = this.containerId,
                scroll = "scroll." + cid,
                resize = "resize."+cid,
                orient = "orientationchange."+cid;

            
            this.container.parents().add(window).each(function () { $(this).off(scroll).off(resize).off(orient); });

            this.clearDropdownAlignmentPreference();

            $("#select2-drop-mask").hide();
            this.dropdown.removeAttr("id"); 
            this.dropdown.hide();
            this.container.removeClass("select2-dropdown-open");
            this.results.empty();


            this.clearSearch();
            this.search.removeClass("select2-active");
            this.opts.element.trigger($.Event("select2-close"));
        }
function ( ) { if ( ! this . opened ( ) ) return ; var cid = this . containerId , scroll = "scroll." + cid , resize = "resize." + cid , orient = "orientationchange." + cid ; // unbind event listeners this . container . parents ( ) . add ( window ) . each ( function ( ) { $ ( this ) . off ( scroll ) . off ( resize ) . off ( orient ) ; } ) ; this . clearDropdownAlignmentPreference ( ) ; $ ( "#select2-drop-mask" ) . hide ( ) ; this . dropdown . removeAttr ( "id" ) ; // only the active dropdown has the select2-drop id this . dropdown . hide ( ) ; this . container . removeClass ( "select2-dropdown-open" ) ; this . results . empty ( ) ; this . clearSearch ( ) ; this . search . removeClass ( "select2-active" ) ; this . opts . element . trigger ( $ . Event ( "select2-close" ) ) ; }
abstract
abstract