anchor.diff:      final value = isWinNL ? source.substring(_position, nextLF-1) :
         source.substring(_position, nextLF);
   
  -    _position = nextLF + 1;
  +    if(updatePosition) {
  +      _position = nextLF + 1;
  +    }
   
  -    return value;
  -  }
  -
  -  String readToEnd() {
  -    if(_position == null) {
  -      return null;
  -    }
  -    final value = source.substring(position, source.length);
  -    _position = null;
       return value;
     }
   }
  
positive.code: 
    int get position => _position;
  
    String readNextLine() {
      if(_position == null) {
        return null;
      }
  
negative.code:     if(nextLF < 0) {
        // no more new lines, return what's left and set postion = null
        final value = source.substring(position, source.length);
        if(updatePosition) {
          _position = null;
        }
        return value;
      }
  
  