public override object Read()

in src/JetBrains.Space.Common/Json.Serialization/ListOfTypeConverter.cs [45:63]


    public override object Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
    {
        if (reader.TokenType == JsonTokenType.Null) return null;

        if (Activator.CreateInstance(typeToConvert) is not IList collection) return null;

        if (reader.TokenType != JsonTokenType.StartArray)
        {
            throw new JsonException("Expected start of array.");
        }
            
        while (reader.Read() && reader.TokenType != JsonTokenType.EndArray)
        {
            var element = _elementConverter.Read(ref reader, typeof(TElement), options);
            collection.Add(element);
        }

        return collection;
    }