Sub-reports

Para quem manja de sub-relatorios populados com beans. É uma boa meneira de gerar relatórios, por exemplo tenho uma coleção de paises que por sua vez tem uma colecao de estados qie por dia vez tem uma coleção de cidades,ou seja;

    /* 
     * To change this template, choose Tools | Templates 
     * and open the template in the editor. 
     */  
    package teste;  
      
    import br.tebosoftware.dao.sujeito.ClienteDAO;  
    import br.tebosoftware.entity.sujeito.Cliente;  
    import java.sql.SQLException;  
   import java.util.HashMap;  
   import java.util.List;  
   import javax.swing.JFrame;  
   import net.sf.jasperreports.engine.JRException;  
   import net.sf.jasperreports.engine.JasperFillManager;  
   import net.sf.jasperreports.engine.JasperPrint;  
   import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;  
   import net.sf.jasperreports.view.JasperViewer;  
     

   public class RelPaises {  
     
       public static void main(String[] args) throws ClassNotFoundException, SQLException {  
           JasperPrint jasperPrint;  
           try {  
               String path = System.getProperty("user.dir");  
     
     
               List<Paises> paises  = new ArrayList<Paises>(); 
               jasperPrint = JasperFillManager.fillReport(  
                       path + "/reports/RelPaises.jasper", new HashMap(), new JRBeanCollectionDataSource(clientes, false));  
   
               JasperViewer viewer = new JasperViewer(jasperPrint);  
               viewer.setExtendedState(JFrame.MAXIMIZED_BOTH);  
               viewer.setZoomRatio(1.25f);  
               viewer.setVisible(true);  
           } catch (JRException e) {  
               e.printStackTrace();  
           }  
     
       }  
   }  

Como passo as várias listas para os sub-relatorios?