¿Por qué la mayoría de las clases de la API HttpClient definen objetos inmutables?

losdocumentación para HttpClient establece lo siguiente sobre la inmutabilidad:

Existen interceptores para examinar y mutar las solicitudes salientes y las respuestas entrantes. Sin embargo, puede ser sorprendente saber que las clases HttpRequest y HttpResponse son en gran medida inmutables.

Esto es por una razón: debido a que la aplicación puede volver a intentar las solicitudes, la cadena de interceptores puede procesar una solicitud individual varias veces. Si las solicitudes fueran mutables, una solicitud reintentada sería diferente a la solicitud original. La inmutabilidad asegura que los interceptores vean la misma solicitud para cada intento.

Me resulta difícil entender esta explicación. ¿Alguien puede dar una explicación?

Respuestas a la pregunta(1)

Su respuesta a la pregunta