docs: function () {
              // --------------------------------------------------- destructuring
  
              var conf = this.conf;
  
              var waiAria = conf.waiAria;
              var animateIn = conf.animateIn;
  
              var domElement = this.domElement;
              var modalMaskDomElement = this.modalMaskDomElement;
              var popupContainer = this.popupContainer;
  
              // ------------------------------------------------------ processing
  
              // Ensure that the top left corner is visible
              if (modalMaskDomElement) {
                  if (this._containerOverflow == -1) {
                      this._containerOverflow = popupContainer.changeContainerOverflow("hidden");
                  }
  
                  // temporarily hides the modal mask so that it does not have an influence on the size of the container
                  modalMaskDomElement.style.display = "none";
  
                  // Compute the style after scrollbars are removed from the
                  // container. Thus the dialog can be properly centered.
                  this._computeAndApplyStyle();
  
                  // only get the container size after having applied the new position of the dialog:
                  var containerSize = popupContainer.getScrollSize();
  
                  var modalMaskZIndex = this.modalMaskZIndex;
                  if (!modalMaskZIndex) {
                      modalMaskZIndex = this.modalMaskZIndex = this.computedStyle.zIndex;
                  } else if (modalMaskZIndex > this.computedStyle.zIndex) {
                      // safety check to not block the full application
                      // this should never happen in normal circumstances
                      this.$logError(this.WRONG_MODALMASK_ZINDEX, [modalMaskZIndex, this.computedStyle.zIndex]);
                      modalMaskZIndex = this.computedStyle.zIndex;
                  }
  
                  modalMaskDomElement.style.cssText = [
                      'left:0px;',
                      'top:0px;',
                      'width:', containerSize.width, 'px;',
                      'height:', containerSize.height, 'px;',
                      'z-index:', modalMaskZIndex, ';',
                      'position:absolute;',
                      'display:block;'
                  ].join('');
  
                  if (waiAria) {
                      modalMaskDomElement.setAttribute('aria-hidden', 'true');
                  }
  
                  if (animateIn) {
                      this._getMaskAnimator().start("fade", {
                          to : modalMaskDomElement,
                          type : 1
                      });
                  }
  
              } else {
                  this._computeAndApplyStyle();
              }
  
              if (animateIn) {
                  this._startAnimation(animateIn, {
                      to : domElement,
                      type : 1
                  }, false);
              }
  
              if (ariaCoreBrowser.isIE7 && !this.isOpen) {
                  // Without the following line, the autocomplete does not initially display its content on IE7:
                  popupContainer.getContainerElt().appendChild(domElement);
              }
  
              if (modalMaskDomElement && waiAria && popupContainer.getContainerRef() === ariaUtilsDom.VIEWPORT) {
                  this._modalNavigationInterceptor.ensureElements();
              }
          }