Problema no Relatório (Me ajudem) . Não gera erro nenhum

Olá,
dentro do meu relatório tenho que fazer um for para filtrar algumas informações… porém preciso que ele faça comparações…
e criei ele dessa maneira…

 public List retornaTSNaoPreenchidos(String dataIni, String dataFim) throws ParseException {
        List<PreenchimentoTimeSheet> listaCompleta = juntaFuncionariosDatas(dataIni, dataFim);
        HashMap<String, String> preenchidos = consultaTimeSheetPreenchidosHash(dataIni, dataFim);
        TbFaltaDao dao = new TbFaltaDao();
        List<TbFalta> listaFalta = dao.retornaFalta(dataIni, dataFim);

for (int i = 0; i < listaCompleta.size(); i++) {
              for (int j = 0; j < listaFalta.size(); j++) {
            PreenchimentoTimeSheet pts = listaCompleta.get(i);
            String chave = pts.getSigla() + new SimpleDateFormat("dd/MM/yyyy").format(pts.getData());
            if (preenchidos.containsKey(chave)) {
                listaCompleta.remove(i);
                i--;
            }
            if (listaCompleta.get(i).getSigla().equals(listaFalta.get(j).getSigla())) { [b](linha: 211)
[/b]                if (listaCompleta.get(i).getData().equals(listaFalta.get(j).getDt_dia())) {
                    listaCompleta.remove(i);
                    i--;
                    break;
                }
            }
        }
    }

porém quando compilo ele gera o seguinte erro .

Hibernate: /* dynamic native SQL query */ SELECT * FROM tb_falta f WHERE f.dt_dia BETWEEN to_date(?,'dd/MM/yyyy') AND to_date(?,'dd/MM/yyyy') ORDER BY f.sigla, f.dt_dia
Erro ao gerar o relatorio. java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to br.com.projectus.acompanhamento.dados.TbFalta
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to br.com.projectus.acompanhamento.dados.TbFalta
        at br.com.projectus.acompanhamento.persistencia.RelPreenchimentoTimeSheet.retornaTSNaoPreenchidos(RelPreenchimentoTimeSheet.java:211)
        at br.com.projectus.acompanhamento.relatorios.RelatorioPreenchimentoTimeSheet.gerarPreenchimentoTimeSheetPeriodo(RelatorioPreenchimentoTimeSheet.java:114)
        at acompanhamento.PreenchimentoTimeSheet.btnGerarRelatorio_action(PreenchimentoTimeSheet.java:256)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.el.parser.AstValue.invoke(AstValue.java:191)
        at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
        at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
        at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
        at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
        at com.sun.rave.web.ui.appbase.faces.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
        at javax.faces.component.UICommand.broadcast(UICommand.java:383)
        at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)
        at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
        at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
        at com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.execute(PartialTraversalLifecycle.java:94)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:267)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:285)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:341)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
        at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
        at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
        at java.lang.Thread.run(Thread.java:619)

essa linha 211 que ele aponta é a que eu marquei acima…

… porque ele não está conseguindo fazer a comparação ? meu for está errado ?

Avaliando resolvi que a melhor forma de usar o for é dessa maneira…

porém mesmo com dois for separado o erro mantem…
a mesma coisa…

 for (int i = 0; i < listaCompleta.size(); i++) {
            PreenchimentoTimeSheet pts = listaCompleta.get(i);
            String chave = pts.getSigla() + new SimpleDateFormat("dd/MM/yyyy").format(pts.getData());
            if (preenchidos.containsKey(chave)) {
                listaCompleta.remove(i);
                i--;
            }
        }

        for (int i = 0; i < listaCompleta.size(); i++) {
            for (int j = 0; j < listaFalta.size(); j++) {
                if (listaCompleta.get(i).getSigla().equals(listaFalta.get(j).getSigla())) {
                    if (listaCompleta.get(i).getData().equals(listaFalta.get(j).getDt_dia())) {
                        listaCompleta.remove(i);
                        break;
                    }
                }
            }
        }

o erro aponta para essa linha

já não sei o que fazer --’ .

Me ajudem por favor.

Bom gente, agora já tirei o erro…

gera o relatório normal e não da erro nenhum…
mas mesmo assim, quando vou comparar as informações…

tem linha que está exibindo mas que não poderia estar exibindo… --’.

só que por não gerar erro nenhum fica díficil… =( .

alguém pode me ajudar ?