Program: 28806
Project: 28806
Buggy source:
@Test public void simplePermanentRecursiveTransferTest() throws Exception {
  final String DIR="String_Node_Str";
  final String Y_SUBDIR="String_Node_Str";
  final String Z_SUBDIR="String_Node_Str";
  final String FILE_A_PREFIX=DIR + Y_SUBDIR;
  final String FILE_A_NAME="String_Node_Str";
  final String FILE_B_PREFIX=DIR + Y_SUBDIR + Z_SUBDIR;
  final String FILE_B_NAME="String_Node_Str";
  final Set<File> desiredResults=new HashSet<File>();
  final File origDir=File.createTempFile("String_Node_Str","String_Node_Str");
  origDir.delete();
  origDir.mkdir();
  final File dir=new File(origDir,DIR);
  dir.mkdir();
  final File ySubdir=new File(dir,Y_SUBDIR);
  ySubdir.mkdir();
  final File zSubdir=new File(dir,Y_SUBDIR + Z_SUBDIR);
  zSubdir.mkdir();
  final File fileA=new File(ySubdir,FILE_A_NAME);
  final File fileB=new File(zSubdir,FILE_B_NAME);
  writeFile(fileA,"String_Node_Str","String_Node_Str");
  writeFile(fileB,"String_Node_Str","String_Node_Str","String_Node_Str");
  File targetDir=null;
  try {
    targetDir=File.createTempFile("String_Node_Str","String_Node_Str");
    targetDir.delete();
    targetDir.mkdir();
    desiredResults.add(new File(targetDir.toURI().resolve(FILE_A_PREFIX + FILE_A_NAME)));
    desiredResults.add(new File(targetDir.toURI().resolve(FILE_B_PREFIX + FILE_B_NAME)));
    new CommonPermTest(){
      @Override protected CommonPermTest init(      File targetDir){
        super.init(targetDir);
        return this;
      }
      @Override protected void addParts(      Outbound ob,      PayloadFilesManager instance) throws Exception {
        ob.attachFile("String_Node_Str",URI.create("String_Node_Str"),"String_Node_Str",dir,true);
      }
      @Override protected void checkResults(      Inbound ib,      PayloadFilesManager instance) throws Exception {
        final List<File> files=instance.processParts(ib);
        final Set<File> missing=new HashSet<File>();
        for (        File f : desiredResults) {
          if (!f.exists()) {
            missing.add(f);
          }
        }
        assertEquals("String_Node_Str",Collections.EMPTY_SET,missing);
      }
      @Override protected void cleanup(){
        for (        File f : desiredResults) {
          f.delete();
        }
      }
    }
.init(targetDir).run("String_Node_Str");
  }
  finally {
    if (targetDir != null) {
      FileUtils.whack(targetDir);
    }
  }
}

Fixed version (ground truth):
@Test public void simplePermanentRecursiveTransferTest() throws Exception {
  final String DIR="String_Node_Str";
  final String Y_SUBDIR="String_Node_Str";
  final String Z_SUBDIR="String_Node_Str";
  final String FILE_A_PREFIX=DIR + Y_SUBDIR;
  final String FILE_A_NAME="String_Node_Str";
  final String FILE_B_PREFIX=DIR + Y_SUBDIR + Z_SUBDIR;
  final String FILE_B_NAME="String_Node_Str";
  final Set<File> desiredResults=new HashSet<File>();
  final File origDir=File.createTempFile("String_Node_Str","String_Node_Str");
  origDir.delete();
  origDir.mkdir();
  final File dir=new File(origDir,DIR);
  dir.mkdir();
  final File ySubdir=new File(dir,Y_SUBDIR);
  ySubdir.mkdir();
  final File zSubdir=new File(dir,Y_SUBDIR + Z_SUBDIR);
  zSubdir.mkdir();
  final File fileA=new File(ySubdir,FILE_A_NAME);
  final File fileB=new File(zSubdir,FILE_B_NAME);
  writeFile(fileA,"String_Node_Str","String_Node_Str");
  writeFile(fileB,"String_Node_Str","String_Node_Str","String_Node_Str");
  File targetDir=null;
  try {
    targetDir=File.createTempFile("String_Node_Str","String_Node_Str");
    targetDir.delete();
    targetDir.mkdir();
    desiredResults.add(new File(targetDir.toURI().resolve(FILE_A_PREFIX + FILE_A_NAME)));
    desiredResults.add(new File(targetDir.toURI().resolve(FILE_B_PREFIX + FILE_B_NAME)));
    new CommonPermTest(){
      @Override protected CommonPermTest init(      File targetDir){
        super.init(targetDir);
        return this;
      }
      @Override protected void addParts(      Outbound ob,      PayloadFilesManager instance) throws Exception {
        ob.attachFile("String_Node_Str",URI.create("String_Node_Str"),"String_Node_Str",dir,true);
      }
      @Override protected void checkResults(      Inbound ib,      PayloadFilesManager instance) throws Exception {
        final List<File> files=instance.processParts(ib);
        final Set<File> missing=new HashSet<File>();
        for (        File f : desiredResults) {
          if (!f.exists()) {
            missing.add(f);
          }
        }
        assertEquals("String_Node_Str",Collections.EMPTY_SET,missing);
      }
      @Override protected void cleanup(){
        for (        File f : desiredResults) {
          f.delete();
        }
        PayloadFilesManagerTest.cleanup(origDir);
      }
    }
.init(targetDir).run("String_Node_Str");
  }
  finally {
    if (targetDir != null) {
      FileUtils.whack(targetDir);
    }
  }
}