question: public void parentExplotion ( int PP_Product_BOM_ID ) throws Exception { PreparedStatement stmt = null ; ResultSet rs = null ; String sql = "SELECT PP_Product_BOMLine_ID, M_Product_ID FROM PP_Product_BOMLine boml " + "WHERE IsActive = 'Y' AND PP_Product_BOM_ID = ? ORDER BY Line " ; try { stmt = DB . prepareStatement ( sql , get_TrxName ( ) ) ; stmt . setInt ( 1 , PP_Product_BOM_ID ) ; rs = stmt . executeQuery ( ) ; while ( rs . next ( ) ) { SeqNo += 1 ; X_T_BOMLine tboml = new X_T_BOMLine ( ctx , 0 , null ) ; tboml . setPP_Product_BOM_ID ( PP_Product_BOM_ID ) ; tboml . setPP_Product_BOMLine_ID ( rs . getInt ( 1 ) ) ; tboml . setM_Product_ID ( rs . getInt ( 2 ) ) ; tboml . setLevelNo ( LevelNo ) ; tboml . setLevels ( levels . substring ( 0 , LevelNo ) + LevelNo ) ; tboml . setSeqNo ( SeqNo ) ; tboml . setAD_PInstance_ID ( AD_PInstance_ID ) ; tboml . setSel_Product_ID ( p_M_Product_ID ) ; tboml . setImplosion ( p_implosion ) ; tboml . save ( ) ; component ( rs . getInt ( 2 ) ) ; } } catch ( SQLException e ) { log . log ( Level . SEVERE , e . getLocalizedMessage ( ) + sql , e ) ; throw new Exception ( "SQLException: " + e . getLocalizedMessage ( ) ) ; } finally { DB . close ( rs , stmt ) ; rs = null ; stmt = null ; } }
target:  Generate an Explotion for this BOM