internal ReflectionJsonTypeInfo(JsonConverter converter, JsonSerializerOptions options)
            : base(converter, options)
        {
            NumberHandling = GetNumberHandlingForType(Type);
            PopulatePolymorphismMetadata();
            MapInterfaceTypesToCallbacks();

            if (PropertyInfoForTypeInfo.ConverterStrategy == ConverterStrategy.Object)
            {
                AddPropertiesAndParametersUsingReflection();
            }

            Func <object>?createObject = Options.MemberAccessorStrategy.CreateConstructor(typeof(T));

            if (converter.UsesDefaultConstructor)
            {
                SetCreateObject(createObject);
            }

            CreateObjectForExtensionDataProperty = createObject;

            // Plug in any converter configuration -- should be run last.
            converter.ConfigureJsonTypeInfo(this, options);
            converter.ConfigureJsonTypeInfoUsingReflection(this, options);
        }