Buggy code:
ProductListingVariation6 . log . debug ( ( ( "drawerImage<seq2seq4repair_space>" + drawerImage ) + "\n" ) ) ; if ( StringUtils . isNotBlank ( drawerImage ) ) { drawersImageNode . setProperty ( "fileReference" , drawerImage ) ; } } else { sb . append ( "<li>drawer<seq2seq4repair_space>image<seq2seq4repair_space>node<seq2seq4repair_space>doesn't<seq2seq4repair_space>exist<//li>" ) ; } } if ( drawersPanelNode != null ) { if ( StringUtils . isNotBlank ( panelTitle ) ) { drawersPanelNode . setProperty ( "title" , panelTitle ) ; } else { sb . append ( DRAWER_PANEL_TITLE_NOT_FOUND ) ; } if ( StringUtils . isNotBlank ( linkUrl ) ) { drawersPanelNode . setProperty ( "linkurl" , linkUrl ) ; } else { sb . append ( DRAWER_PANEL_LINK_TITLE_NOT_FOUND ) ; } if ( StringUtils . isNotBlank ( panelDescription ) ) { drawersPanelNode . setProperty ( "description" , panelDescription ) ; } else { sb . append ( DRAWER_PANEL_DESC_NOT_FOUND ) ; } } } } NodeIterator subDrawerIterator = ( drawersPanelNode . hasNode ( "parsys-drawers" ) ) ? drawersPanelNode . getNode ( "parsys-drawers" ) . getNodes ( "subdrawer_product*" ) : null ; Node subdrawerpanel = null ; Elements subDrawerColl = drawerPanelLiElement . select ( "ul.items" ) ; Elements clearfixdivs = drawerPanelLiElement . select ( "li.clearfix" ) ; String previousTitle = null ; for ( Element ss : subDrawerColl ) { String title = "" ; String linkTitleUrl = "" ; String subDrawerImage = "" ; Elements subItems = ss . select ( "div.prodinfo" ) ; if ( subItems != null ) { for ( Element subItem : subItems ) { if ( ( clearfixdivs . size ( ) ) != ( subDrawerIterator . getSize ( ) ) ) { misMatchFlag = false ; } List < String > list1 = new ArrayList < String > ( ) ; List < String > list2 = new ArrayList < String > ( ) ; if ( subItem != null ) { Elements siTitles = subItem . getElementsByTag ( "h4" ) ; if ( siTitles != null ) { Element siTitle = siTitles . first ( ) ; String ownText = siTitle . ownText ( ) ; if ( siTitle != null ) { Elements siATitles = siTitle . getElementsByTag ( "a" ) ; if ( siATitles != null ) { Element siATitle = siATitles . first ( ) ; if ( siATitle != null ) { title = ( ( siATitle . text ( ) ) + "<seq2seq4repair_space>" ) + ownText ; linkTitleUrl = siATitle . attr ( "href" ) ; ProductListingVariation6 . log . debug ( ( ( "Before<seq2seq4repair_space>linkTitleUrl" + linkTitleUrl ) + "\n" ) ) ; linkTitleUrl = FrameworkUtils . getLocaleReference ( linkTitleUrl , urlMap ) ; ProductListingVariation6 . log . debug ( ( ( "after<seq2seq4repair_space>linkTitleUrl" + linkTitleUrl ) + "\n" ) ) ; if ( title . equals ( previousTitle ) ) { continue ; } } else { ProductListingVariation6 . log . debug ( "<li>sub<seq2seq4repair_space>series<seq2seq4repair_space>title<seq2seq4repair_space>Element<seq2seq4repair_space>anchor<seq2seq4repair_space>not<seq2seq4repair_space>found<//li>" ) ; } } else { ProductListingVariation6 . log . debug ( "<li>sub<seq2seq4repair_space>series<seq2seq4repair_space>title<seq2seq4repair_space>Element<seq2seq4repair_space>anchor<seq2seq4repair_space>Section<seq2seq4repair_space>not<seq2seq4repair_space>found<//li>" ) ; } Element spanTag = siTitle . getElementsByTag ( "span" ) . first ( ) ; if ( spanTag != null ) { String spanTagText = spanTag . outerHtml ( ) ; title = ( title + "<seq2seq4repair_space>" ) + spanTagText ; } } else { ProductListingVariation6 . log . debug ( "<li>sub<seq2seq4repair_space>series<seq2seq4repair_space>title<seq2seq4repair_space>Element<seq2seq4repair_space>not<seq2seq4repair_space>found<//li>" ) ; } } else { ProductListingVariation6 . log . debug ( "<li>sub<seq2seq4repair_space>series<seq2seq4repair_space>title<seq2seq4repair_space>Elements<seq2seq4repair_space>section<seq2seq4repair_space>not<seq2seq4repair_space>found<//li>" ) ; } subDrawerImage = FrameworkUtils . extractImagePath ( subItem , sb ) ; ProductListingVariation6 . log . debug ( ( ( "subDrawerImage<seq2seq4repair_space>before<seq2seq4repair_space>migration<seq2seq4repair_space>:<seq2seq4repair_space>" + subDrawerImage ) + "\n" ) ) ; Elements indDetailsElements = subItem . select ( "ul.details" ) ; if ( indDetailsElements != null ) { Element indDetailsElement = indDetailsElements . first ( ) ; if ( indDetailsElement != null ) { Elements indItems = indDetailsElement . getElementsByTag ( "li" ) ; if ( indItems != null ) { for ( Element indItem : indItems ) { String ownText = indItem . ownText ( ) ; JSONObject jsonObj = new JSONObject ( ) ; <START_BUG> jsonObj . put ( "linktext" , ( ( ( indItem . html ( ) ) + "<seq2seq4repair_space>" ) + ownText ) ) ; <END_BUG> list1 . add ( jsonObj . toString ( ) ) ; } } else { ProductListingVariation6 . log . debug ( "<li>li<seq2seq4repair_space>elements<seq2seq4repair_space>in<seq2seq4repair_space>details<seq2seq4repair_space>Element<seq2seq4repair_space>not<seq2seq4repair_space>found<//li>" ) ; } } else { ProductListingVariation6 . log . debug ( "<li>details<seq2seq4repair_space>Element<seq2seq4repair_space>not<seq2seq4repair_space>found<//li>" ) ; } } else { ProductListingVariation6 . log . debug ( "<li>details<seq2seq4repair_space>Element<seq2seq4repair_space>section<seq2seq4repair_space>not<seq2seq4repair_space>found<//li>" ) ; } Element subItemUlInfoLink = subItem . siblingElements ( ) . first ( ) ; if ( subItemUlInfoLink != null ) { Elements subItemInfoLinks = subItemUlInfoLink . getElementsByTag ( "li" ) ; for ( Element si : subItemInfoLinks ) { JSONObject jsonObj = new JSONObject ( ) ; String linkText = "" ; String linkTextUrl = "" ; Elements linkTextElements = si . getElementsByTag ( "a" ) ; if ( linkTextElements != null ) { Element linkTextElement = linkTextElements . first ( ) ; if ( linkTextElement != null ) { linkText = linkTextElement . text ( ) ; linkTextUrl = linkTextElement . attr ( "href" ) ; ProductListingVariation6 . log . debug ( ( ( "Before<seq2seq4repair_space>linkTextUrl" + linkTextUrl ) + "\n" ) ) ; linkTextUrl = FrameworkUtils . getLocaleReference ( linkTextUrl , urlMap ) ; ProductListingVariation6 . log . debug ( ( ( "after<seq2seq4repair_space>linkTextUrl" + linkTextUrl ) + "\n" ) ) ; } else { ProductListingVariation6 . log . debug ( "<li>info<seq2seq4repair_space>links<seq2seq4repair_space>anchor<seq2seq4repair_space>element<seq2seq4repair_space>not<seq2seq4repair_space>found<//li>" ) ; } } else { ProductListingVariation6 . log . debug ( "<li>info<seq2seq4repair_space>links<seq2seq4repair_space>anchor<seq2seq4repair_space>element<seq2seq4repair_space>section<seq2seq4repair_space>not<seq2seq4repair_space>found<//li>" ) ; } String liOwn = si . ownText ( ) ; if ( ( liOwn != null ) && ( ! ( liOwn . equals ( "" ) ) ) ) { linkText = ( linkText + "<seq2seq4repair_space>" ) + liOwn ; } if ( StringUtils . isNotBlank ( linkText ) ) { jsonObj . put ( "linktext" , linkText ) ; } if ( StringUtils . isNotBlank ( linkTextUrl ) ) { jsonObj . put ( "linkurl" , linkTextUrl ) ;

Fix:
jsonObj . put ( "linktext" , indItem . html ( ) ) ;