private protected void PushDetails(Type inferredType, Type requestedType, string propertyName) { _inferredTypes.Push(InferredType); InferredType = inferredType; _requestedTypes.Push(RequestedType); RequestedType = requestedType; CurrentLocation.Add(propertyName); }