anchor.diff:          break;
         }
       }
  +
  +    // If the group containing the active item is collapsed, expand it.
  +    for (final group in menu.itemGroups) {
  +      if (group.contains(activeModel.activeItem) && group.isCollapsible) {
  +        group.isExpanded = true;
  +        break;
  +      }
  +    }
     }
   
     @override
  
positive.code: 
    @HostListener('mouseover')
    void onMouseOver(MouseEvent event) {
      _isMouseDriven = true;
  
      var item = _itemForTarget(event.target);
      if (item == null) return;
  
negative.code: 
    @HostListener('mouseout')
    void onMouseOut(MouseEvent event) {
      // If not triggered by mouse movement, don't handle it. This can happen when
      // the DOM moved but mouse didn't.
      if (!_isMouseDriven) return;
  
      MenuItem item = _itemForTarget(event.target);
      if (item == null) return;
  