Program: 70015
Project: 70015
Buggy source:
/** 
 * returns a Collection of SubscriptionListItems for the given EPStructuredMap<br /> the returning list will contain listItems for newly added artefacts/Comments/Ratings PLUS the newly added Pages/StructElements from the "parent"/"source" templateMap
 * @param compareDate the comareDate (only items are added, that are created after this date)
 * @param map the EPStructuredMap
 */
public List<SubscriptionListItem> getAllSubscrItems_Structured(Date compareDate,EPStructuredMap map){
  List<SubscriptionListItem> allItems=new ArrayList<SubscriptionListItem>();
  PortfolioStructureMap sourceMap=map.getStructuredMapSource();
  allItems=getAllSubscrItems_Default(compareDate,(EPAbstractMap)sourceMap);
  String tmp_bPath;
  String tmp_linkUrl;
  List<EPStructureToArtefactLink> links=getAllArtefactLinks(map);
  for (  EPStructureToArtefactLink link : links) {
    if (link.getCreationDate().after(compareDate)) {
      PortfolioStructure linkParent=link.getStructureElement();
      Long linkKey=0L;
      if (linkParent instanceof EPPage) {
        linkKey=linkParent.getKey();
      }
 else {
        linkKey=linkParent.getRoot().getKey();
      }
      tmp_bPath=rootBusinessPath + "String_Node_Str" + linkKey+ "String_Node_Str";
      tmp_linkUrl=BusinessControlFactory.getInstance().getURLFromBusinessPathString(tmp_bPath);
      allItems.add(new SubscriptionListItem(translator.translate("String_Node_Str",new String[]{getFullNameFromUser(link.getArtefact().getAuthor())}),tmp_linkUrl,link.getCreationDate(),"String_Node_Str"));
    }
  }
  allItems.addAll(getCRItemsForMap(compareDate,map));
  Collections.sort(allItems,new SubscriptionListItemComparator());
  return allItems;
}

Fixed version (ground truth):
/** 
 * returns a Collection of SubscriptionListItems for the given EPStructuredMap<br /> the returning list will contain listItems for newly added artefacts/Comments/Ratings PLUS the newly added Pages/StructElements from the "parent"/"source" templateMap
 * @param compareDate the comareDate (only items are added, that are created after this date)
 * @param map the EPStructuredMap
 */
public List<SubscriptionListItem> getAllSubscrItems_Structured(Date compareDate,EPStructuredMap map){
  List<SubscriptionListItem> allItems=new ArrayList<SubscriptionListItem>();
  PortfolioStructureMap sourceMap=map.getStructuredMapSource();
  allItems=getAllSubscrItems_Default(compareDate,(EPAbstractMap)sourceMap);
  String tmp_bPath;
  String tmp_linkUrl;
  Long tmp_linkKey=0L;
  String tmp_TargetTitle;
  List<EPStructureToArtefactLink> links=getAllArtefactLinks(map);
  for (  EPStructureToArtefactLink link : links) {
    if (link.getCreationDate().after(compareDate)) {
      PortfolioStructure linkParent=link.getStructureElement();
      if (linkParent instanceof EPPage) {
        tmp_linkKey=linkParent.getKey();
        tmp_TargetTitle=linkParent.getTitle();
      }
 else {
        tmp_linkKey=linkParent.getRoot().getKey();
        tmp_TargetTitle=linkParent.getRoot().getTitle();
      }
      tmp_bPath=rootBusinessPath + "String_Node_Str" + tmp_linkKey+ "String_Node_Str";
      tmp_linkUrl=BusinessControlFactory.getInstance().getURLFromBusinessPathString(tmp_bPath);
      allItems.add(new SubscriptionListItem(translator.translate("String_Node_Str",new String[]{getFullNameFromUser(link.getArtefact().getAuthor()),link.getArtefact().getTitle(),tmp_TargetTitle}),tmp_linkUrl,link.getCreationDate(),"String_Node_Str"));
    }
  }
  allItems.addAll(getCRItemsForMap(compareDate,map));
  Collections.sort(allItems,new SubscriptionListItemComparator());
  return allItems;
}