Quebra no Ireport

Pessoal estou com uma dúvida no ireport, tenho um relatório que contêm duas lista(subreport) e um cabeçalho, a chave destas duas lista é uma empresa que esta no cabeçalho, o problema que podem vir mais de uma empresa. E eu terei que sempre que mudar a empresa montar outro relatório.

No java estou montando um HashMap onde minha chave é a empresa e os valores as listas. Preciso mandar este HashMap para o ireport e sempre que mudar a empresa fazer a quebra do relatório para um novo.

Estou no caminho certo no Java ? E como devo proseguir no Ireport ?

Valeu