Como mascarar uma senha no Java 5?

Eu estou tentando mascarar uma senha em Java. Sun Java sugeriu uma maneira de mascarar uma senha da seguinte forma.

Mascarando uma senha

Ele usa uma maneira simples de fazer isso.

public void run () {
  stop = true;
  while (stop) {
     System.out.print("\010*");
 try {
    Thread.currentThread().sleep(1);
     } catch(InterruptedException ie) {
        ie.printStackTrace();
     }
  }
}

Mas esta abordagem tem vários inconvenientes.

Se o usuário usar as teclas de seta + excluir chaves, a senha será revelada.

Se o usuário acidentalmente pressionar 2 teclas ao mesmo tempo (velocidade de digitação extremamente alta), alguns caracteres não serão mascarados.

Vocês acham que alguma maneira de conseguir um mascaramento 100% correto?

questionAnswers(4)

yourAnswerToTheQuestion