anchor.diff:      scheduleMicrotask(() {
         _changeDetector.markForCheck(); // call early so we can return early.
         // Look for the previously active tab.
  -      if (previousActiveTab != null) {
  -        _activeTabIndex = _tabs.indexOf(previousActiveTab);
  +      if (_previousActiveTab != null) {
  +        _activeTabIndex = _tabs.indexOf(_previousActiveTab);
  +        _previousActiveTab = null;
           if (_activeTabIndex == -1) {
             // Couldn't find previous tab. Just activate the first tab.
             _activeTabIndex = 0;
  
positive.code: 
    MaterialTabPanelComponent(this._changeDetector);
  
    @ContentChildren(Tab)
    set tabs(QueryList<Tab> tabQuery) {
      final previousActiveTab = (_tabs != null) ? _activeTab : null;
      _tabs = new List.from(tabQuery);
      _tabLabels = _tabs.map((t) => t.label).toList();
      _tabIds = _tabs.map((t) => t.tabId).toList();
  
  
negative.code:   // TODO(google): Change to `Visibility.local` to reduce code size.
    visibility: Visibility.all,
  )
  class MaterialTabPanelComponent implements AfterContentInit {
    final ChangeDetectorRef _changeDetector;
    bool _initialzed = false;
    Tab _previousActiveTab;
  
    /// Stream of [TabChangeEvent] instances, published before the tab has
    /// changed.
  