public override RequestArgs Read(
            ref Utf8JsonReader reader,
            Type typeToConvert,
            JsonSerializerOptions options)
        {
            // TODO: Implement it correctly
            var obj = new HistoryStreamRequest("0");

            return(obj.Read(ref reader, typeToConvert, options));
        }
        public override RequestArgs Read(
            ref Utf8JsonReader reader,
            Type typeToConvert,
            JsonSerializerOptions options)
        {
            var obj = new HistoryStreamRequest("0");

            while (reader.Read())
            {
                switch (reader.TokenType)
                {
                case JsonTokenType.PropertyName:
                {
                    switch (reader.GetString())
                    {
                    case "id":
                    {
                        obj.Id = reader.GetString();
                        break;
                    }

                    case "seq":
                    {
                        obj.Seq = reader.GetString();
                        break;
                    }

                    case "limit":
                    {
                        obj.Limit = reader.GetString();
                        break;
                    }

                    case "live":
                    {
                        obj.Live = reader.GetBoolean();
                        break;
                    }

                    case "old":
                    {
                        obj.Old = reader.GetBoolean();
                        break;
                    }

                    case "keys":
                    {
                        obj.Keys = reader.GetBoolean();
                        break;
                    }

                    default: throw new InvalidCastException("Unsupported JSON value");
                    }
                    break;
                }

                default:
                {
                    throw new InvalidCastException("Unsupported JSON value");
                }
                }
            }

            return(obj);
        }