anchor.diff:        nextHeader = await _readHeader(rawHeader);
         if (nextHeader == null) {
           if (eofAcceptable) {
  -          _header = null;
  -          _contents = null;
  -          _listenedToContents = false;
  +          _current = null;
  +          _currentStreamNullOrComplete = true;
  +          _listenedToContentsOnce = false;
             _isReadingHeaders = false;
             return false;
           } else {
  
positive.code:     }
      _isReadingHeaders = true;
  
      final contents = _contents;
      if (contents != null) {
        if (_listenedToContents) {
          throw StateError(
              'Illegal call to Reader.moveNext() while a previous stream was '
              'active.\n'
  
negative.code:   /// Skip the next [_skipNext] elements when reading in the stream.
    int _skipNext = 0;
  
    TarEntry? _current;
  
    /// Whether [_current] has ever been listened to.
    bool _listenedToContentsOnce = false;
  
    /// Whether there is an active stream that has not been fully consumed.
    bool _currentStreamNullOrComplete = true;
  
    /// Whether we're in the process of reading tar headers.
    bool _isReadingHeaders = false;
  