code: function(keepCurrentModal) {
  			lib.returnFocus(this.$frameParent, this.$originalFocus, function() {
  				if(!keepCurrentModal && modalDialogManager.dialog === this) {
  					modalDialogManager.dialog = null;
  				}
  				if (typeof this._beforeHiding === "function") { //$NON-NLS-0$
  					this._beforeHiding();
  				}
  				if (this._modalListener) {
  					this.$frameParent.removeEventListener("focus", this._modalListener, true);  //$NON-NLS-0$
  					this.$frameParent.removeEventListener("click", this._modalListener, true);  //$NON-NLS-0$
  				}
  	
  				this.$frame.classList.remove("dialogShowing"); //$NON-NLS-0$
  				lib.setFramesEnabled(true);
  				if (typeof this._afterHiding === "function") { //$NON-NLS-0$
  					this._afterHiding();
  				}
  			}.bind(this));
  			var self = this;
  			if (!this.keepAlive) {
  				window.setTimeout(function() { self.destroy(); }, 0);
  			}
  		}
docs: /*
  Internal.  Hides the dialog.  Clients should use the before and after
  hooks (_beforeHiding, _afterHiding) to do any work related to hiding the dialog, such
  as destroying resources.