Hi , We are upgrading jasper reports 3.1.7 to 4.5.0. JasperDesign.getDetail Code with Previous version: private JRDesignBand findBandForSubReport(JasperDesignBuilder jasperDesignBuilder, SubReport subReport) throws Exception { return (JRDesignBand) jasperDesign.getDetail(); } Change i have done with 4.5.0: private JRDesignBand findBandForSubReport(JasperDesignBuilder jasperDesignBuilder, SubReport subReport) throws Exception { JRDesignSection jrDesignSection = (JRDesignSection)jasperDesign.getDetailSection(); for(JRBand jrBand : jrDesignSection.getBands()) { if(jrBand instanceof JRDesignBand) { return (JRDesignBand)jrBand; } } } We are using same code for getHeaderSection, getFooterSection also. Please let me clarify the how to get JRDesignBand from JRDesignSection Please check the code above, let me know is that the correct way of getting JRDesignBand from JRDesignSection.