Program: 69287
Project: 69287
Buggy source:
private void gatherItems(Identity participant,Publisher p,CourseEnvironment courseEnv,CourseNode node){
  Path folderRoot=Paths.get(courseEnv.getCourseBaseContainer().getRelPath(),PFManager.FILENAME_PARTICIPANTFOLDER,node.getIdent(),pfManager.getIdFolderName(participant));
  final List<FileInfo> fInfos=FolderManager.getFileInfos(folderRoot.toString(),compareDate);
  SubscriptionListItem subListItem;
  for (Iterator<FileInfo> it_infos=fInfos.iterator(); it_infos.hasNext(); ) {
    FileInfo fi=it_infos.next();
    MetaInfo metaInfo=fi.getMetaInfo();
    String filePath=fi.getRelPath();
    Date modDate=fi.getLastModified();
    String action="String_Node_Str";
    try {
      Path basepath=courseEnv.getCourseBaseContainer().getBasefile().toPath();
      Path completepath=Paths.get(basepath.toString(),PFManager.FILENAME_PARTICIPANTFOLDER,node.getIdent(),pfManager.getIdFolderName(participant),filePath);
      BasicFileAttributes attrs=Files.readAttributes(completepath,BasicFileAttributes.class);
      if (attrs.creationTime().toMillis() < attrs.lastModifiedTime().toMillis()) {
        action="String_Node_Str";
      }
    }
 catch (    IOException ioe) {
      log.error("String_Node_Str",ioe);
    }
    String forby=translator.translate("String_Node_Str" + (filePath.contains(PFManager.FILENAME_DROPBOX) ? "String_Node_Str" : "String_Node_Str"));
    String desc=translator.translate("String_Node_Str" + action,new String[]{filePath,forby,participant.getName()});
    String businessPath=p.getBusinessPath();
    String urlToSend=BusinessControlFactory.getInstance().getURLFromBusinessPathString(businessPath);
    String iconCssClass=null;
    if (metaInfo != null) {
      iconCssClass=metaInfo.getIconCssClass();
    }
    if (metaInfo != null && !metaInfo.getName().startsWith("String_Node_Str")) {
      subListItem=new SubscriptionListItem(desc,urlToSend,businessPath,modDate,iconCssClass);
      items.add(subListItem);
    }
  }
}

Fixed version (ground truth):
private void gatherItems(Identity participant,Publisher p,CourseEnvironment courseEnv,CourseNode node){
  Path folderRoot=Paths.get(courseEnv.getCourseBaseContainer().getRelPath(),PFManager.FILENAME_PARTICIPANTFOLDER,node.getIdent(),pfManager.getIdFolderName(participant));
  final List<FileInfo> fInfos=FolderManager.getFileInfos(folderRoot.toString(),compareDate);
  SubscriptionListItem subListItem;
  for (Iterator<FileInfo> it_infos=fInfos.iterator(); it_infos.hasNext(); ) {
    FileInfo fi=it_infos.next();
    MetaInfo metaInfo=fi.getMetaInfo();
    String filePath=fi.getRelPath();
    Date modDate=fi.getLastModified();
    String action="String_Node_Str";
    try {
      Path basepath=courseEnv.getCourseBaseContainer().getBasefile().toPath();
      Path completepath=Paths.get(basepath.toString(),PFManager.FILENAME_PARTICIPANTFOLDER,node.getIdent(),pfManager.getIdFolderName(participant),filePath);
      BasicFileAttributes attrs=Files.readAttributes(completepath,BasicFileAttributes.class);
      if (attrs.creationTime().toMillis() < attrs.lastModifiedTime().toMillis()) {
        action="String_Node_Str";
      }
    }
 catch (    IOException ioe) {
      log.error("String_Node_Str",ioe);
    }
    String forby=translator.translate("String_Node_Str" + (filePath.contains(PFManager.FILENAME_DROPBOX) ? "String_Node_Str" : "String_Node_Str"));
    String userDisplayName=userManager.getUserDisplayName(participant);
    String desc=translator.translate("String_Node_Str" + action,new String[]{filePath,forby,userDisplayName});
    String businessPath=p.getBusinessPath();
    String urlToSend=BusinessControlFactory.getInstance().getURLFromBusinessPathString(businessPath);
    String iconCssClass=null;
    if (metaInfo != null) {
      iconCssClass=metaInfo.getIconCssClass();
    }
    if (metaInfo != null && !metaInfo.getName().startsWith("String_Node_Str")) {
      subListItem=new SubscriptionListItem(desc,urlToSend,businessPath,modDate,iconCssClass);
      items.add(subListItem);
    }
  }
}