anchor.diff:        _stack.last.hidden = true;
       }
       _stack.add(modal);
  +  }
  +
  +  /// Tell all the modals to close in reverse order.
  +  Future<void> closeAll() async {
  +    for (var modal in _stack.reversed.toList()) {
  +      await modal.close();
  +    }
     }
   }
   
  
positive.code:   final Element _element;
    final Modal _parentModal;
    final GlobalModalStack _stack;
    final NgZone _ngZone;
  
    @override
    Stream<AsyncAction> get onOpen => _onOpen.stream;
  
negative.code:   //
    // If it has a parent, we should temporarily hide it.
    void _showModalOverlay({bool temporary = false}) {
      if (!temporary) {
        _saveFocus();
        if (_stack != null) {
          _stack.onModalOpened(this);
        } else if (_parentModal != null) {
  