<PackageReference Include="Newtonsoft.Json" Version="12.0.2" />

JsonSerializerInternalReader

public object CreateNewObject(JsonReader reader, JsonObjectContract objectContract, JsonProperty containerMember, JsonProperty containerProperty, string id, out bool createdFromNonDefaultCreator)

public object Deserialize(JsonReader reader, Type objectType, bool checkAdditionalContent)

public void Populate(JsonReader reader, object target)