question: private DefaultMutableTreeNode iparent ( int AD_Client_ID , int M_Product_ID , int PP_Product_BOM_ID ) { DefaultMutableTreeNode parent = new DefaultMutableTreeNode ( Integer . toString ( M_Product_ID ) + "|" + Integer . toString ( PP_Product_BOM_ID ) ) ; String sql = "SELECT PP_Product_BOMLine_ID FROM PP_Product_BOMLine" + " WHERE IsActive=? AND AD_Client_ID=? AND M_Product_ID=?" ; PreparedStatement pstmt = null ; ResultSet rs = null ; try { pstmt = DB . prepareStatement ( sql , m_trxName ) ; DB . setParameters ( pstmt , new Object [ ] { true , AD_Client_ID , M_Product_ID } ) ; rs = pstmt . executeQuery ( ) ; while ( rs . next ( ) ) { if ( rs . getRow ( ) > 1 ) { tableproduct . clear ( ) ; tableproduct . put ( M_Product_ID , PP_Product_BOM_ID ) ; } DefaultMutableTreeNode bom = icomponent ( AD_Client_ID , rs . getInt ( 1 ) , M_Product_ID , parent ) ; if ( bom != null ) { parent . add ( bom ) ; } } } catch ( SQLException e ) { throw new DBException ( e , sql ) ; } finally { DB . close ( rs , pstmt ) ; rs = null ; pstmt = null ; } return parent ; }
target:  get an implotion the product 