MouseListener

Olá pessoal,

Estou retomando meus estudos em Java em tenho a seguinte situação num programa de questionarios que estou tentando desenvolver:
No meu exemplo abaixo tenho duas condições para um MouseListener, o primeiro IF é para seleção ÚNICA de um JList com checkboxes, funciona sem problemas, seleciona e desmarca, já no ELSE tem a função de selecionar mais de uma opção, porém limitado pela variável qtMULTIPLA conforme código, ele também funciona o número de selecões, porém não desmarca, então só náo estou conseguindo desmarcar as opções neste ELSE que pode selecionar mais de uma opção. Se alguém puder analisar o trecho do código e me ajudar, agradeço.

[code]
lista.addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent e){
int index = lista.locationToIndex(e.getPoint());
if (LeitorDePerguntas.abrirMultiplas==false) {
if(index != -1){

              boolean tem_marcado = false;     
              int index_selecionado = 0;     
                   
              for (int i = 0; i < lista.getModel().getSize() && !tem_marcado; i++) {     
                       
                  JCheckBox checkbox =     
                  (JCheckBox) lista.getModel().getElementAt(i);     
                  tem_marcado = checkbox.isSelected();     
                  index_selecionado = i;       
              }     
                   
              if (!tem_marcado || tem_marcado && index_selecionado == index) {     
                  JCheckBox checkbox =     
                       (JCheckBox) lista.getModel().getElementAt(index);     
                  checkbox.setSelected(!checkbox.isSelected());     
              }     
                 
            repaint();     
          }  
         } else {
        	if(contaMultipla<qtMultipla){
        		
        		index = lista.locationToIndex(e.getPoint());   
        		if(index != -1){JCheckBox checkbox = (JCheckBox) lista.getModel().getElementAt(index);   
        		   checkbox.setSelected(!checkbox.isSelected());   
        		   repaint();   
        		   contaMultipla++;
        		   System.out.println(contaMultipla);  
        		}    
        	    
        	} 
         }
         
         
         
        }     
      });    [/code]