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

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)