Erro de tradução do livro Java Efetivo (2º ed)?

Pessoal quem tem o livro ai na pagina 15 tem a palavra ‘invariável’, não sei se é isso mesmo ou se é um erro de tradução…
se for… alguem poderia me explicar o que seria invariavel? vejam o contexto:

[quote]Esse código cliente é fácil de escrever e, o que é mais importante, fácil de ler.
O padrão Builder simula parâmetros opcionais nomeados como encontrado em
Ada e Python.

Como um construtor, um criador pode impor invariáveis em seus parâmetros.
O método build pode verificar essas invariáveis. É crítico que elas sejam verificadas
após a cópia dos parâmetros do criador para o objeto e que a verificação ocorra nos
campos do objeto em vez de nos campos do criador (Item 39). Se alguma invariável
for violada, o método build deve lançar uma IllegalStateException (Item 60). A
mensagem detalhada da exceção deve indicar que a invariável foi violada (item 63).
Outra maneira de impor invariáveis envolvendo vários parâmetros é fazer com que
métodos setter usem grupos inteiros de parâmetros em que haja alguma invariável. Se
a invariável não for respeitada, o método setter lançará uma IllegalArgumentException.
Isso tem como vantagem ser possível detectar a falha na invariável assim que os
parâmetros inválidos são passados, em vez de aguardar build ser chamado.
[/quote]

Não tenho o livro traduzido para português, mas tenho comigo a versão original em inglês. O que a tradução chamou de “invariável” é a palavra “invariant”, cujo significado no contexto em discussão é “condições sob as quais um valor é válido”. Por exemplo, digamos que numa aplicação sua só faça sentido que uma medição de temperatura esteja entre 0 e 100 graus centígrados. Assim, a verificação de “invariável”/“invariant” que seus construtores e demais métodos têm de fazer, ao receber um parâmetro de medição de temperatura, é garantir que ele esteja dentro da faixa adequada.