Combox, cascateado em JavaFx

eu tenho um combo box aqui que faz umas verificações envelhentante aquelas que você
setar o estado para aparecer a cidade, esta certo na criação de um novo, porém quando eu vou editar não vai
como por exemplo a pessoa muda de cidade, mas não de estado então não tem necessidade de mexer no estado, mas na minha aplicação só muda a cidade se primeiro setar o estado

esse é o cascateamento
cmbCurso.getSelectionModel().selectedItemProperty().addListener((e, o, n) -> {
if (n != null) {
cmbTurma.getItems().clear();
cmbTurma.getItems().addAll(new TabTurmDao().getListTurma(n));
TopFxUtilidades.installSearcherCombobox(cmbTurma);
}
});

    cmbTurma.getSelectionModel().selectedItemProperty().addListener((e, o, n) -> {
        if (n != null) {
            cmbSeri.getItems().addAll(new TabSeriDao().getSemeTurma(n));
            TopFxUtilidades.<TabSeri>installSearcherCombobox(cmbSeri);
        }
    });

    cmbTurma.getSelectionModel().selectedItemProperty().addListener((e, o, n) -> {
        cmbSeri.getSelectionModel().selectedItemProperty().addListener((t, i, p) -> {
            if (n != null) {
                if (p != null) {
                    cmbDisci.getItems().clear();
                    cmbDisci.getItems().addAll(new TabDiscDao().getDiscSeriturm(n, p));
                    TopFxUtilidades.<TabDisc>installSearcherCombobox(cmbDisci);
                }
            }
        });
    });

    cmbDisci.getSelectionModel().selectedItemProperty().addListener((e, o, n) -> {
        if (n != null) {
            cmbProf.getItems().clear();
            cmbProf.getItems().addAll(new TabProfDao().getLis(n));
            TopFxUtilidades.<TabProf>installSearcherCombobox(cmbProf);
        }
    }); 

e aqui é onde eu carrego os dados

            txtCodigo.setText(peri.getCodperi().toString());
            cmbSema.getSelectionModel().select(semana(peri));
            cmbTurn.getSelectionModel().select(Turno(peri));
            cmbCurso.getSelectionModel().select(peri.getCodcurs());

            cmbTurma.getSelectionModel().select(peri.getCodturm());

            cmbSeri.getSelectionModel().select(peri.getCodseri());

            cmbDisci.getSelectionModel().select(peri.getCoddisc());

            cmbOrde.getSelectionModel().select(peri.getNumorde());

            cmbProf.getSelectionModel().select(peri.getCodprof());