anchor.diff:        follower += subsize;
         _offset += subsize;
         _counter -= subsize;
  -      size -= subsize;
  +      leftToRead -= subsize;
         if (chunk is! List || _offset >= chunk.length) {
           _offset = 0;
           _chunks.removeAt(0);
  
positive.code: class UnderflowError extends Error {
    final message;
  
    /** The [message] describes the underflow. */
    UnderflowError([this.message]);
  
    String toString() {
  
negative.code:     return completer.future;
    }
  
    @override
    Future addStream(Stream<T> stream) {
      var lastStream = _currentStream == null ? stream : _currentStream;
      if (_sub != null) {
        _sub.cancel();
        _streamDone.complete();
      }
      _currentStream = stream;
      Completer streamDone = new Completer();
      _sub = stream.listen((items) {
        _chunks.add(items);
  