As outras respostas são boas, mas não comente sobre isso:
"É uma regra ou não é garantido que não seja alterado nas próximas versões do Jdk?"
Não acredito que existam garantias sobre JDKs futuros, então você nem deve se preocupar com elas. Não haveria nenhuma maneira de aplicá-los, futuros leads de JDK podem simplesmente decidir renegar tais garantias. É como o sistema de parlamento de Westminster: "Nenhum parlamento pode vincular um futuro parlamento."
Dito isso, a história do JDK revela excelente consistência. Eles não fazem muitas alterações significativas, portanto, você pode ter certeza de que o comportamento atual especificado (não apenas observado) será preservado.