anchor.diff:        data: iconTheme,
         child: new DefaultTextStyle(
           style: textStyle,
  -        child: new BuilderTransition(
  -          variables: <AnimatedValue<Rect>>[_indicatorRect],
  -          performance: config.selection.performance,
  -          builder: (BuildContext context) {
  -            return new _TabBarWrapper(
  -              children: tabs,
  -              selectedIndex: config.selection.index,
  -              indicatorColor: indicatorColor,
  -              indicatorRect: _indicatorRect.value,
  -              textAndIcons: textAndIcons,
  -              isScrollable: config.isScrollable,
  -              onLayoutChanged: _layoutChanged
  -            );
  -          }
  +        child: new _TabBarWrapper(
  +          children: tabs,
  +          selectedIndex: config.selection.index,
  +          indicatorColor: indicatorColor,
  +          indicatorRect: _indicatorRect.value,
  +          textAndIcons: textAndIcons,
  +          isScrollable: config.isScrollable,
  +          onLayoutChanged: _layoutChanged
           )
         )
       );
  
positive.code:       return;
      _previousIndex = _index;
      _index = value;
      _performance
        ..progress = 0.0
        ..play().then((_) {
        if (onChanged != null)
          onChanged();
        });
    }
  
  
negative.code:   }
  
    void _handleStatusChange(PerformanceStatus status) {
      if (!config.selection.indexIsChanging)
        return;
      // The TabBar is driving the TabBarSelection performance.
  
      final int selectedIndex = config.selection.index;
      final int previousSelectedIndex = config.selection.previousIndex;
  
  