anchor.diff:    }
   
     void _handleEof(StreamController outputController) {
  -    if ((_subParser == _SubParser.end) ||
  +    if ((_subParser == _SubParser.end || _subParser == _SubParser.errored) ||
           (_isImplicitArray && _subParser == _SubParser.begin)) {
         outputController.close();
       } else {
  
positive.code:     if (_isWhitespace(ch)) return;
      else {
        outputController.addError(new StateError("Expected WHITESPACE"));
      }
    }
  
    void _handleTopSymbol(int ch, StreamController outputController) {
      if (_isWhitespace(ch)) return;
      if (_weAreInImplicitArray) {
        throw new StateError("Expected WHITESPACE or { ");
      } else if (_weAreInObject && (_requireComma || _requireKey) && ch == 125) {
        //Close brace }
        outputController.add(_addJsonStreamingEvent(JsonStreamingBox.object,
  
negative.code:       _subParser = _SubParser.numberPart2;
      } else {
        try {
          _parserAssertNotReached("Expected DIGIT", outputController);
        } catch (err) {
          _numberIsReady.completeError(err);
        }
  