anchor.diff:    /// the user has cancelled the operation.
     Future<bool> changeState(
         bool expand, bool byUserAction, StreamController stream) {
  -    if (_isExpanded == expand) {
  +    if (isExpanded == expand) {
         return Future.value(true);
       }
       var actionCtrl = AsyncActionController<bool>();
       stream.add(actionCtrl.action);
       var stateWasInitialized = initialized;
       actionCtrl.execute(() {
  -      _isExpanded = expand;
  -      _isExpandedChange.add(expand);
  +      _isExpanded.value = expand;
         if (byUserAction) _isExpandedChangeByUserAction.add(expand);
         _changeDetector.markForCheck();
         if (expand && autoFocusChild != null) {
  
positive.code:     _changeDetector.markForCheck();
      final stateWasInitialized = initialized;
      actionCtrl.execute(() {
        _isExpanded = false;
        _isExpandedChange.add(false);
        _isExpandedChangeByUserAction.add(false);
        _changeDetector.markForCheck();
        if (stateWasInitialized) _transitionHeightChange(false);
  
negative.code:     if (disabled) {
        return groupAriaLabel;
      } else {
        return isExpanded ? closePanelMsg : openPanelMsg;
      }
    }
  
  