anchor.diff:    //
     // If it has a parent, we should re-show it.
     void _hideModalOverlay({bool temporary = false}) {
  -    _restoreFocus();
       if (!temporary) {
  +      _restoreFocus();
         if (_stack != null) {
           _stack.onModalClosed(this);
         } else if (_parentModal != null) {
  
positive.code:   //
    // If it has a parent, we should temporarily hide it.
    void _showModalOverlay({bool temporary = false}) {
      _saveFocus();
      if (!temporary) {
        if (_stack != null) {
          _stack.onModalOpened(this);
        } else if (_parentModal != null) {
  
negative.code:   void _restoreFocus() {
      if (_lastFocusedElement == null) return;
      if (_stack != null && _stack.length > 1 || _parentModal != null) return;
      final elementToFocus = _lastFocusedElement;
      _domService.scheduleWrite(() {
        // Only restore focus if the current active element is inside this overlay
        // or the focus was lost.
        // Note in a browser activeElement is never null and the null check below
        // is only for testing.
        if (document.activeElement != null &&
            (_resolvedOverlayRef.overlayElement
                    .contains(document.activeElement) ||
                document.activeElement == document.body)) {
          // Note that if the [elementToFocus] is no longer in the document,
          // the body element will be focused instead.
          elementToFocus.focus();
        }
      });
    }
  
  