não sei se tu notou, mas esse metodo após refatorado ficou com mais que o dobro do tamanho que ele tinha anteriormente, digo isso juntando os 3 metodos verificaRequisito, temRequisito e getIdxPeriodoCadeira, tudo bem que ta mais modularizado com esses novos metodos, mas sinceramente ta mei complexo isso ai.