anchor.diff:  
     @override
     void dispose() {
  -    _selection?.unregisterAnimationListener(this);
  +    _selection?.removeAnimationListener(this);
       super.dispose();
     }
   
  
positive.code: 
    @override
    void dispose() {
      _selection?.unregisterAnimationListener(this);
      super.dispose();
    }
  
  
negative.code:   void _initSelection(TabBarSelectionState<T> newSelection) {
      if (_selection == newSelection)
        return;
      _selection?.removeAnimationListener(this);
      _selection = newSelection;
      _selection?.addAnimationListener(this);
      if (_selection != null)
        _lastSelectedIndex = _selection.index;
    }
  