Está adequado retornar o "próprio" cargo quando é invocado o próximo cargo do gerente?
Retornar o próprio cargo pode gerar stack over flow caso alguém decida percorrer a progressão de cargos
GERENTE {
@Override
public Cargo getProximoCargo() {
return GERENTE;
}
}