anchor.diff:          }
           if (block.length == 0) {
             if (!_unsubscribed) {
  -            _closeFile().then((_) { _controller.close(); });
  +            _closeFile();
               _unsubscribed = true;
             }
             return;
  
positive.code:       .catchError((e) {
          if (!_unsubscribed) {
            _controller.addError(e);
            _closeFile().then((_) { _controller.close(); });
            _unsubscribed = true;
          }
        });
  
negative.code: 
    // Is there a read currently in progress?
    bool _readInProgress = false;
    bool _closed = false;
  
    // Block read but not yet send because stream is paused.
    List<int> _currentBlock;
  