internal override bool OnTryRead(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options, ref ReadStack state, out T?value)
        {
            JsonTypeInfo jsonTypeInfo = state.Current.JsonTypeInfo;

            if (_converterStrategy == ConverterStrategy.Object)
            {
                if (jsonTypeInfo.PropertyCache == null)
                {
                    jsonTypeInfo.InitializePropCache();
                }

                if (jsonTypeInfo.ParameterCache == null && jsonTypeInfo.IsObjectWithParameterizedCtor)
                {
                    jsonTypeInfo.InitializeParameterCache();
                }
            }

            return(Converter.OnTryRead(ref reader, typeToConvert, options, ref state, out value));
        }