Program: 26079
Project: 26079
Buggy source:
/** 
 * @param context
 * @param rssItem       item to parse
 * @param showHeader    true if a header with item title, feed title, etc. should be included
 * @return given RSS item as full HTML page
 */
public static String getHtmlPage(Context context,RssItem rssItem,boolean showHeader){
  String feedTitle="String_Node_Str";
  String favIconUrl=null;
  Feed feed=rssItem.getFeed();
  int[] colors=ColorHelper.getColorsFromAttributes(context,R.attr.dividerLineColor,R.attr.rssItemListBackground);
  int feedColor=colors[0];
  if (feed != null) {
    feedTitle=StringEscapeUtils.escapeHtml4(feed.getFeedTitle());
    favIconUrl=feed.getFaviconUrl();
    if (feed.getAvgColour() != null) {
      feedColor=Integer.parseInt(feed.getAvgColour());
    }
  }
  if (favIconUrl != null) {
    DiskCache diskCache=ImageLoader.getInstance().getDiskCache();
    File file=diskCache.get(favIconUrl);
    if (file != null) {
      favIconUrl="String_Node_Str" + file.getAbsolutePath();
    }
  }
 else {
    favIconUrl="String_Node_Str";
  }
  String body_id;
switch (ThemeChooser.getInstance(context).getSelectedTheme(context,false)) {
case 0:
    body_id="String_Node_Str";
  break;
case 1:
body_id="String_Node_Str";
break;
case 2:
body_id="String_Node_Str";
break;
default :
body_id="String_Node_Str";
}
boolean isRightToLeft=context.getResources().getBoolean(R.bool.is_right_to_left);
String rtlClass=isRightToLeft ? "String_Node_Str" : "String_Node_Str";
String borderSide=isRightToLeft ? "String_Node_Str" : "String_Node_Str";
StringBuilder builder=new StringBuilder();
builder.append("String_Node_Str");
builder.append("String_Node_Str");
builder.append("String_Node_Str");
builder.append(String.format("String_Node_Str",borderSide,ColorHelper.getCssColor(feedColor),ColorHelper.getCssColor(colors[0]),ColorHelper.getCssColor(colors[1])));
builder.append("String_Node_Str");
builder.append(String.format("String_Node_Str",body_id,rtlClass));
if (showHeader) {
builder.append("String_Node_Str");
builder.append("String_Node_Str");
String title=StringEscapeUtils.escapeHtml4(rssItem.getTitle());
String linkToFeed=StringEscapeUtils.escapeHtml4(rssItem.getLink());
builder.append(String.format("String_Node_Str",linkToFeed,title));
builder.append("String_Node_Str");
String authorOfArticle=StringEscapeUtils.escapeHtml4(rssItem.getAuthor());
if (authorOfArticle != null) if (!authorOfArticle.trim().equals("String_Node_Str")) feedTitle+="String_Node_Str" + authorOfArticle.trim();
builder.append("String_Node_Str");
builder.append("String_Node_Str");
builder.append(String.format("String_Node_Str",favIconUrl));
builder.append(feedTitle.trim());
builder.append("String_Node_Str");
Date date=rssItem.getPubDate();
if (date != null) {
String dateString=(String)DateUtils.getRelativeTimeSpanString(date.getTime());
builder.append("String_Node_Str");
builder.append(dateString);
builder.append("String_Node_Str");
}
builder.append("String_Node_Str");
builder.append("String_Node_Str");
}
String description=rssItem.getBody();
description=getDescriptionWithCachedImages(description).trim();
description=removePreloadAttributeFromVideos(description);
builder.append("String_Node_Str");
builder.append(description);
builder.append("String_Node_Str");
builder.append("String_Node_Str");
return builder.toString().replaceAll("String_Node_Str","String_Node_Str");
}

Fixed version (ground truth):
/** 
 * @param context
 * @param rssItem       item to parse
 * @param showHeader    true if a header with item title, feed title, etc. should be included
 * @return given RSS item as full HTML page
 */
public static String getHtmlPage(Context context,RssItem rssItem,boolean showHeader){
  String feedTitle="String_Node_Str";
  String favIconUrl=null;
  Feed feed=rssItem.getFeed();
  int[] colors=ColorHelper.getColorsFromAttributes(context,R.attr.dividerLineColor,R.attr.rssItemListBackground);
  int feedColor=colors[0];
  if (feed != null) {
    feedTitle=StringEscapeUtils.escapeHtml4(feed.getFeedTitle());
    favIconUrl=feed.getFaviconUrl();
    if (feed.getAvgColour() != null) {
      feedColor=Integer.parseInt(feed.getAvgColour());
    }
  }
  if (favIconUrl != null) {
    DiskCache diskCache=ImageLoader.getInstance().getDiskCache();
    File file=diskCache.get(favIconUrl);
    if (file != null) {
      favIconUrl="String_Node_Str" + file.getAbsolutePath();
    }
  }
 else {
    favIconUrl="String_Node_Str";
  }
  String body_id;
switch (ThemeChooser.getInstance(context).getSelectedTheme(context,false)) {
case 0:
    body_id="String_Node_Str";
  break;
case 1:
body_id="String_Node_Str";
break;
case 2:
body_id="String_Node_Str";
break;
default :
body_id="String_Node_Str";
}
boolean isRightToLeft=context.getResources().getBoolean(R.bool.is_right_to_left);
String rtlClass=isRightToLeft ? "String_Node_Str" : "String_Node_Str";
String borderSide=isRightToLeft ? "String_Node_Str" : "String_Node_Str";
StringBuilder builder=new StringBuilder();
builder.append("String_Node_Str");
builder.append("String_Node_Str");
builder.append("String_Node_Str");
builder.append(String.format("String_Node_Str",borderSide,ColorHelper.getCssColor(feedColor),ColorHelper.getCssColor(colors[0]),ColorHelper.getCssColor(colors[1])));
builder.append("String_Node_Str");
builder.append(String.format("String_Node_Str",body_id,rtlClass));
if (showHeader) {
builder.append("String_Node_Str");
builder.append("String_Node_Str");
String title=StringEscapeUtils.escapeHtml4(rssItem.getTitle());
String linkToFeed=StringEscapeUtils.escapeHtml4(rssItem.getLink());
builder.append(String.format("String_Node_Str",linkToFeed,title));
builder.append("String_Node_Str");
String authorOfArticle=StringEscapeUtils.escapeHtml4(rssItem.getAuthor());
if (authorOfArticle != null) if (!authorOfArticle.trim().equals("String_Node_Str")) feedTitle+="String_Node_Str" + authorOfArticle.trim();
builder.append("String_Node_Str");
builder.append("String_Node_Str");
builder.append(String.format("String_Node_Str",favIconUrl));
builder.append(feedTitle.trim());
builder.append("String_Node_Str");
Date date=rssItem.getPubDate();
if (date != null) {
String dateString=(String)DateUtils.getRelativeTimeSpanString(date.getTime());
builder.append("String_Node_Str");
builder.append(dateString);
builder.append("String_Node_Str");
}
builder.append("String_Node_Str");
builder.append("String_Node_Str");
}
String description=rssItem.getBody();
description=getDescriptionWithCachedImages(description).trim();
description=replacePatternInText(PATTERN_PRELOAD_VIDEOS_REMOVE,description,"String_Node_Str");
description=replacePatternInText(PATTERN_PRELOAD_VIDEOS_INSERT,description,"String_Node_Str");
description=replacePatternInText(PATTERN_AUTOPLAY_VIDEOS_1,description,"String_Node_Str");
description=replacePatternInText(PATTERN_AUTOPLAY_VIDEOS_2,description,"String_Node_Str");
builder.append("String_Node_Str");
builder.append(description);
builder.append("String_Node_Str");
builder.append("String_Node_Str");
return builder.toString().replaceAll("String_Node_Str","String_Node_Str");
}