Program: 39653
Project: 39653
Buggy source:
private File prepareOutputFolder(Transformation transformation){
  logger.debug("String_Node_Str");
  Application application=transformation.getApplication();
  Configuration configuration=transformation.getConfiguration();
  logger.info("String_Node_Str" + application.getFolder());
  File originalAppParent=application.getFolder().getParentFile();
  String transformedAppFolderName=application.getFolder().getName() + "String_Node_Str" + getCurrentTimeStamp();
  File transformedAppFolder;
  if (configuration.getOutputFolder() != null) {
    if (!configuration.getOutputFolder().exists()) {
      throw new IllegalArgumentException("String_Node_Str" + configuration.getOutputFolder() + "String_Node_Str");
    }
    transformedAppFolder=new File(configuration.getOutputFolder().getAbsolutePath() + File.separator + transformedAppFolderName);
  }
 else {
    transformedAppFolder=new File(originalAppParent.getAbsolutePath() + File.separator + transformedAppFolderName);
  }
  logger.info("String_Node_Str" + transformedAppFolder);
  transformation.setTransformedApplicationLocation(transformedAppFolder);
  transformedAppFolder.mkdir();
  try {
    FileUtils.copyDirectory(application.getFolder(),transformedAppFolder);
  }
 catch (  IOException e) {
    String exceptionMessage=String.format("String_Node_Str",transformedAppFolder,application.getFolder());
    logger.error(exceptionMessage,e);
    throw new InternalException(exceptionMessage,e);
  }
  logger.debug("String_Node_Str");
  return transformedAppFolder;
}

Fixed version (ground truth):
private File prepareOutputFolder(Transformation transformation){
  logger.debug("String_Node_Str");
  Application application=transformation.getApplication();
  Configuration configuration=transformation.getConfiguration();
  logger.info("String_Node_Str" + application.getFolder());
  File originalAppParent=application.getFolder().getParentFile();
  String transformedAppFolderName=application.getFolder().getName() + "String_Node_Str" + getCurrentTimeStamp();
  File transformedAppFolder;
  if (configuration.getOutputFolder() != null) {
    if (!configuration.getOutputFolder().exists()) {
      throw new IllegalArgumentException("String_Node_Str" + configuration.getOutputFolder() + "String_Node_Str");
    }
    transformedAppFolder=new File(configuration.getOutputFolder().getAbsolutePath() + File.separator + transformedAppFolderName);
  }
 else {
    transformedAppFolder=new File(originalAppParent.getAbsolutePath() + File.separator + transformedAppFolderName);
  }
  logger.info("String_Node_Str" + transformedAppFolder);
  transformation.setTransformedApplicationLocation(transformedAppFolder);
  boolean bDirCreated=transformedAppFolder.mkdir();
  if (bDirCreated) {
    try {
      FileUtils.copyDirectory(application.getFolder(),transformedAppFolder);
    }
 catch (    IOException e) {
      String exceptionMessage=String.format("String_Node_Str",transformedAppFolder,application.getFolder());
      logger.error(exceptionMessage,e);
      throw new InternalException(exceptionMessage,e);
    }
    logger.debug("String_Node_Str");
  }
 else {
    logger.error("String_Node_Str");
  }
  return transformedAppFolder;
}