Problema ao Fazer Lista de Limites entre Horarios:

Ola Galera da Programação em Java!!!
Estou com problema peguei na internet um programa para listar horários só que ele lista das 00:00 às 23:00 queria impor um limite determinado por mim Vou dar um exemplo.
O Horário de Atendimento vai de 8:00 às 18:00 com Intervalo de Atendimento de 30 min.
e tendo em vista que o medico tem seu Horário de almoço que vai de 12:00 ás 13:00 queria que este horário estivesse bloqueado para marcação de consulta.
Como Faço isso?
Obrigado a todos!!!

ArrayList<String> listaPeriodo = new ArrayList<String>();

    //Seta a hora inicial
    Calendar inicial = Calendar.getInstance();
    inicial.set(Calendar.HOUR_OF_DAY, 8);
    inicial.set(Calendar.MINUTE, 30);

    //Periodo a ser somado / a cada 15min ou 30min 
    int minute = 30;

    //Guarda o dia inicial
    int diaInicial = inicial.get(Calendar.DAY_OF_MONTH);

    //Enquanto o dia nao mudar soma na lista
    while (diaInicial == inicial.get(Calendar.DAY_OF_MONTH)) {
        //Pega a hora e minuto e formata para 00:00
        listaPeriodo.add(String.format("%TR", inicial));

        //Soma o minuto
        inicial.add(Calendar.MINUTE, minute);

    }

    //listando periodos cadastrados
    for (String horas : listaPeriodo) {
        //listando periodos cadastrados
        DefaultTableModel modelo = (DefaultTableModel) tab.getModel();
        modelo.setNumRows(0);
        for (String horas : listaPeriodo) {
            modelo.addRow(new Object[]{
                horas
            });
        }
    }