public NewtonsoftNdjsonWriterFactory(IHttpResponseStreamWriterFactory httpResponseStreamWriterFactory, IOptions <MvcNewtonsoftJsonOptions> options, ArrayPool <char> innerJsonArrayPool)
        {
            _httpResponseStreamWriterFactory = httpResponseStreamWriterFactory ?? throw new ArgumentNullException(nameof(httpResponseStreamWriterFactory));
            _options = options?.Value ?? throw new ArgumentNullException(nameof(options));

            if (innerJsonArrayPool == null)
            {
                throw new ArgumentNullException(nameof(innerJsonArrayPool));
            }

            _jsonArrayPool = new NewtonsoftNdjsonArrayPool(innerJsonArrayPool);
        }
        public NewtonsoftNdjsonWriter(TextWriter textResponseStreamWriter, JsonSerializerSettings jsonSerializerSettings, NewtonsoftNdjsonArrayPool jsonArrayPool)
        {
            _textResponseStreamWriter = textResponseStreamWriter ?? throw new ArgumentNullException(nameof(textResponseStreamWriter));

            _jsonResponseStreamWriter = new JsonTextWriter(textResponseStreamWriter)
            {
                ArrayPool           = jsonArrayPool,
                CloseOutput         = false,
                AutoCompleteOnClose = false
            };

            _jsonSerializer = JsonSerializer.Create(jsonSerializerSettings);
        }