Por que a maioria das classes da API HttpClient define objetos imutáveis?

odocumentação para HttpClient afirma o seguinte sobre imutabilidade:

Existem interceptores para examinar e alterar solicitações de saída e respostas recebidas. No entanto, pode ser surpreendente saber que as classes HttpRequest e HttpResponse são imutáveis.

Isso ocorre por um motivo: como o aplicativo pode tentar novamente solicitações, a cadeia de interceptores pode processar uma solicitação individual várias vezes. Se os pedidos fossem mutáveis, um novo pedido seria diferente do pedido original. A imutabilidade garante que os interceptadores vejam a mesma solicitação para cada tentativa.

Acho difícil entender essa explicação. Alguém pode fornecer uma explicação?

questionAnswers(1)

yourAnswerToTheQuestion