anchor.diff:      }
     }
   
  -  JsonStreamingEvent addJsonStreamingEvent(JsonStreamingBoxType object,
  +  static JsonStreamingEvent addJsonStreamingEvent(JsonStreamingBox object,
             List currentPath, Object currentContext) =>
         new JsonStreamingEvent(
             object, currentPath, currentContext, _status, _statusText);
   
     void _parserAssertNotReached(String message) {
  -    _onOpenContainer.addError(new StateError(message));
  -    _onCloseContainer.addError(new StateError(message));
  -    _onSymbolComplete.addError(new StateError(message));
  +    throw new StateError(message);
       _isSemiClosed = true;
     }
   
  
positive.code:     }
    }
  
    Stream<JsonStreamingEvent> get onOpenContainer => _onOpenContainer.stream;
    Stream<JsonStreamingEvent> get onCloseContainer => _onCloseContainer.stream;
    Stream<JsonStreamingEvent> get onSymbolComplete => _onSymbolComplete.stream;
  
    void httpRequestListener(ProgressEvent event) {
      HttpRequest request = event.currentTarget;
  
  
negative.code:       } else if (_weAreInArray && bufferGetter(buffer, i) == 93) {
          //Close bracket ]
          _onSymbolComplete.add(addJsonStreamingEvent(
              JsonStreamingBox.array, _currentPath, _currentContext));
          _onCloseContainer.add(addJsonStreamingEvent(
              JsonStreamingBox.array, _currentPath, _currentContext));
          var lastKey = _currentPath.removeLast();
          if (lastKey is int) {
            _weAreInObject = false;
  