[Dúvida] Relatório iReport + parâmetros malucos!

E aí, galera do GUJ!
Tudo bem?

Tô criando um relatório iReport, e me surgiu um “pequeno” problema.
Bom, fizeram uma navegabilidade muito porca no projeto e, como está em fase final, é impossível refazê-la.
Portanto, eu tenho basicamente um Map<Cliente, Map<Integer, Long>>, e preciso passar esse valor para um relatório iReport e fazê-lo reconhecer esse objeto maluco!

Eu crio esse mapa…

// instancio objetos de ação.
DatabaseAction actionBD = new DatabaseAction();
ClienteAction actionCliente = new ClienteAction();
Map<Cliente, Map<Integer, Long>> dados = new HashMap<Cliente, Map<Integer, Long>>();

// busco as bases de dados pertencentes ao projeto no PostgreSQL.
List<String> bancos = actionBD.listarNomesBancosDadosDigiDoc();

// itero sobre os nomes.
for (String banco : bancos) {

        // busco o número de documentos e o espaço ocupado em disco por eles.
        Map<Integer, Long> dado = new HashMap<Integer, Long>();
        dado.put(actionCliente.
                 listarNumeroDocumentosCliente(banco),
                 actionCliente.
                 calcularTamanhoTotalDocumentosCliente(banco));

    dados.put(actionCliente.buscarClientePorBD(banco), dado);
}

Daí beleza, eu quero passá-lo para um relatório e fazer o meu relatório reconhecê-lo. Antes de tudo, tem como isso? Se sim, tem como iterar sobre o mapa para buscar os valores dentro dele?

Valeu, galera!
Abraço :]