Ao projetar classes para manter seu modelo de dados que eu li, pode ser útil criar objetos imutáveis, mas em que momento o ônus das listas de parâmetros do construtor e cópias profundas se torna muito alto e você precisa abandonar a restrição imutável? Por exemplo, aqui está uma classe imutável...