anchor.diff:      details.add('hashCode=$hashCode');
       details.add(mounted ? 'mounted' : 'not mounted');
       if (_generation != _currentGeneration) {
  -      int delta = _generation - _currentGeneration;
  -      String sign = delta < 0 ? '' : '+';
  -      details.add('gen$sign$delta');
  +      if (_generation == 0) {
  +        details.add('never synced');
  +      } else {
  +        int delta = _generation - _currentGeneration;
  +        String sign = delta < 0 ? '' : '+';
  +        details.add('gen$sign$delta');
  +      }
       }
     }
   
  
positive.code:   static void _notifyListeners() {
      assert(!_inBuildDirtyComponents);
      assert(!Widget._notifyingMountStatus);
      assert(_debugDuplicates.isEmpty);
      if (_syncedKeys.isEmpty && _removedKeys.isEmpty)
        return;
      try {
  
negative.code:         continue; // when these nodes are reordered, we just reassign the data
  
        if (!idSet.add(child.key)) {
          throw '''If multiple keyed nodes exist as children of another node, they must have unique keys. ${toStringName()} has multiple children with key "${child.key}".''';
        }
      }
      return false;
  