anchor.diff:      _controller.stop();
       for (TabBarSelectionAnimationListener listener in _animationListeners.toList()) {
         listener.handleSelectionDeactivate();
  -      unregisterAnimationListener(listener);
  +      removeAnimationListener(listener);
       }
       assert(_animationListeners.isEmpty);
       _writeValue();
  
positive.code:   void _initSelection(TabBarSelectionState<T> newSelection) {
      if (_selection == newSelection)
        return;
      _selection?.unregisterAnimationListener(this);
      _selection = newSelection;
      _selection?.registerAnimationListener(this);
      if (_selection != null)
        _updateItemsAndScrollBehavior();
    }
  
negative.code: 
    /// Stop calling listener methods every time the value or status of the animation changes.
    ///
    /// Listeners can be added with [addAnimationListener].
    void removeAnimationListener(TabBarSelectionAnimationListener listener) {
      _animationListeners.remove(listener);
      _controller
        ..removeStatusListener(listener.handleStatusChange)
  