docs: function (options) {
        var outletName;
        var parentView;
        if (!options || typeof options === 'string') {
          outletName = options;
        } else {
          outletName = options.outlet;
          parentView = options.parentView;
  
          if (options && Object.keys(options).indexOf('outlet') !== -1 && typeof options.outlet === 'undefined') {
            throw new _emberMetalError.default('You passed undefined as the outlet name.');
          }
        }
        parentView = parentView && parentView.replace(/\//g, '.');
        outletName = outletName || 'main';
        this._disconnectOutlet(outletName, parentView);
        for (var i = 0; i < this.router.router.currentHandlerInfos.length; i++) {
          // This non-local state munging is sadly necessary to maintain
          // backward compatibility with our existing semantics, which allow
          // any route to disconnectOutlet things originally rendered by any
          // other route. This should all get cut in 2.0.
          this.router.router.currentHandlerInfos[i].handler._disconnectOutlet(outletName, parentView);
        }
      }