ClassCastException - não está inserindo todos elementos na TreeSet

//devolve uma coleção de FatoresVO
 public Collection getTodosFatores(){ 
        FatoresVO fatores =  new FatoresVO();
        int intervalo1, intervalo2;
        double percentual;  
        String linha;
        Collection colecaoLinhas = new TreeSet();//coleção das linhas de fatores ao invés de uma classeVO
        Collection colecaoFatoresVO = new TreeSet();//coleção de FatoresVO
        colecaoLinhas = getCondicoes();//contém as linhas dos fatores
        Iterator i = colecaoLinhas.iterator();
        try{
        while( i.hasNext() ) {    
            linha = i.next().toString();            
            intervalo1 = Integer.parseInt(linha.substring(1, 4));//de                   
            intervalo2 = Integer.parseInt(linha.substring(4, 7));//até
            percentual = (Double.parseDouble(linha.substring(7))) /100;//percentual
            
            fatores.setNroMinVezes(intervalo1);
            fatores.setNroMaxVezes(intervalo2);
            fatores.setPercFator(percentual);
            //System.out.println(fatores.getNroMaxVezes());
        
            
            try{
                colecaoFatoresVO.add(fatores);                
                System.out.println("try " + fatores.getNroMaxVezes());
                
            }catch( ClassCastException e){
                System.out.println("catch Class " + e.getMessage());
            }
            catch( NullPointerException e){
                System.out.println("catch Null" + e.getMessage());                
            }
            catch( IllegalArgumentException e){
                System.out.println("catch Ill" + e.getMessage());                
            }
            catch( UnsupportedOperationException  e){
                System.out.println("catch Unn" + e.getMessage());                
            }
            
           // System.out.println(fatores.getNroMaxVezes());
        }
        
        }catch( NoSuchElementException e){
            System.out.println("catch Such" + e.getMessage());   
        }        
        
        return colecaoFatoresVO;        
    }            

Está retornando(teste pelo método main):

try 2
catch Class cresul.emprestimo.simulacao.FatoresVO
catch Class cresul.emprestimo.simulacao.FatoresVO

E na JSP ao fazer um looping para exibir:


Saída: 6 10 0.09% 
<%Collection colecaoFatores = simulacaoEmprestimo.getTodosFatores();
Iterator i = colecaoFatores.iterator();
String linha;
while(i.hasNext()){
     //FatoresVO f = FatoresVO(i.next());
    //Object f = i.next();
    FatoresVO fator = (FatoresVO) i.next();
%>
<tr>
    <td><%=fator.getNroMinVezes()%></td>
    <td><%=fator.getNroMaxVezes()%></td>
    <td><%=fator.getPercFator()%>%</td>
</tr>
<%
}
%>

O que há de errado???

Grata

Marcia

Não faça isso:

System.out.println("catch Ill" + e.getMessage());

Faça assim:

e.printStackTrace();
O erro mostrado é muito mais detalhado, e também mostra a classe da exceção.