public override async Task InitializeAsync(CancellationToken cancellationToken = default)
        {
            _reader = _deserializer.CreateJsonStreamReader(ResponseStream);

            if (!await _reader.InitializeAsync(cancellationToken).ConfigureAwait(false))
            {
                return;
            }

            // Read the attributes until we reach the end of the object or the "results" attribute
            await ReadResponseAttributes(cancellationToken).ConfigureAwait(false);
        }
        public override async Task InitializeAsync(CancellationToken cancellationToken = default)
        {
            _reader = _deserializer.CreateJsonStreamReader(ResponseStream);

            if (!await _reader.InitializeAsync(cancellationToken).ConfigureAwait(false))
            {
                return;
            }

            // Read the attributes until we reach the end of the object or the "results" attribute
            await ReadResponseAttributes(cancellationToken).ConfigureAwait(false);

            if (!_hasFinishedReading)
            {
                // We encountered a results attribute, so we must be successful
                // We'll assume so until we read otherwise later

                Success = true;
            }
        }