¿Cómo actualizar el mismo EditText usando TextWatcher?

En mi aplicación de Android necesito implementar una interfaz TextWatcher para implementaronTextChanged. El problema que tengo es que quiero actualizar el mismo EditText con alguna cadena adicional. Cuando trato de hacer esto, el programa termina.

 final EditText ET = (EditText) findViewById(R.id.editText1);
 ET.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count)
        {
            try
            {
                 ET.setText("***"+ s.toString());
                 ET.setSelection(s.length());
            }
            catch(Exception e)
            {
                Log.v("State", e.getMessage());
            }
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after)
        {

        }

        @Override
        public void afterTextChanged(Editable s)
        {               
        }
    });

Mi programa finaliza e incluso trato de detectar la excepción, como en mi código aún finaliza. ¿Alguien tiene alguna idea de por qué sucede esto y cómo puedo lograrlo? Gracias