Java 8 - Stream - Agrupe por valor y encuentre el valor mínimo y máximo de ese objeto

Para mi ejemplo, tener un objeto de automóvil y encontrar ese valor de precio mínimo y máximo según el modelo (agrupar por).

List<Car> carsDetails = UserDB.getCarsDetails();
Map<String, DoubleSummaryStatistics> collect4 = carsDetails.stream()
                .collect(Collectors.groupingBy(Car::getMake, Collectors.summarizingDouble(Car::getPrice)));
collect4.entrySet().forEach(e->System.out.println(e.getKey()+" "+e.getValue().getMax()+" "+e.getValue().getMin()));

output :
Lexus 94837.79 17569.59
Subaru 96583.25 8498.41
Chevrolet 99892.59 6861.85

Pero no pude encontrar qué objeto del automóvil tiene el precio máximo y mínimo. ¿Cómo puedo hacer eso

Respuestas a la pregunta(2)

Su respuesta a la pregunta