Sobrescrevendo uma Lista ao gerar PDF

Boa noite a todos.

Sou nova no GUJ e estou estudando o JasperReport.

Eu tenho um formulário que me envia uma Lista de Id, mas quando vou gerar o PDF, só está pegando o último ID .

Os métodos que estou usando são esses:

public Download exportaPDF(List<Long> listaPDF) {
        Report<Cliente> report = null;
        for (int i = 0; i < listaPDF.size(); i++) {
            Cliente cli = daoFactory.getClienteDao().carrega(listaPDF.get(i));
            report = generateClienteReport(cli);
        }
        return new ReportDownload(report, Pdf());
    }

Acredito que o problema seja no método anterior que está sobrescrevendo…

private Report<Cliente> generateClienteReport(Cliente cliente) {
        List<Cliente> data = this.getListaClientePdf(cliente.getId());
        return new ClienteReport(data);
    }

public List<Cliente> getListaClientePdf(Long id) {
        return this.daoFactory.getClienteDao().relatorioPdf(id);
    }

Teriam alguma sugestão que me ajude a resolver essa questão de ficar sobrescrevendo ?

Grata

Seu código está estranho:

    Report<Cliente> report = null;
    for (int i = 0; i < listaPDF.size(); i++) {
        Cliente cli = daoFactory.getClienteDao().carrega(listaPDF.get(i));
        report = generateClienteReport(cli); // a cada iteração você mata o objeto report anterior e cria um novo
    }
    // quando sair do laço, a variável report contém o último objeto que foi criado
    return new ReportDownload(report, Pdf())

Entendi. Vou ver como posso corrigir isso.