    private File makeFinalOutputDirectoryPath(UploadSummary uploadSummary, File sessionTempFolder) throws IOException {
        final File outDirParent = config.getFinalOutputDir();
        final Date now = Calendar.getInstance().getTime();
        final String dateDirName = (new SimpleDateFormat("yyyy-MM-dd")).format(now);
        final File dateDir = new File(outDirParent, dateDirName);
        dateDir.mkdirs();
        if (!dateDir.exists()) {
            throw new IOException("Unable to create final output folder " + dateDir);
        }
        StringBuilder b = new StringBuilder();
        b.append(dateDirName)
                .append(File.separatorChar)
                .append(uploadSummary.senderAddress.getPersonal())
                .append(" (").append(uploadSummary.senderAddress.getAddress()).append(") ");
        if (uploadSummary.customerCode != null && !uploadSummary.customerCode.isEmpty()) {
            b.append("(C: ").append(uploadSummary.customerCode).append(')');
        }
        if (uploadSummary.bookingNumber != null && !uploadSummary.bookingNumber.isEmpty()) {
            b.append("(B: ").append(uploadSummary.bookingNumber).append(')');
        }
        b.append(' ').append((new SimpleDateFormat("hh-mm-ss").format(now)));
        uploadSummary.outputDirectory = new File(outDirParent, b.toString());
        return uploadSummary.outputDirectory;
    }

    private File makeFinalOutputDirectoryPath(UploadSummary uploadSummary, File sessionTempFolder) throws IOException {
        final File outDirParent = config.getFinalOutputDir();
        final Date now = Calendar.getInstance().getTime();
        final String dateDirName = (new SimpleDateFormat("yyyy-MM-dd")).format(now);
        final File dateDir = new File(outDirParent, dateDirName);
        StringBuilder b = new StringBuilder();
        b.append(dateDirName)
                .append(File.separatorChar)
                .append(uploadSummary.senderAddress.getPersonal())
                .append(" (").append(uploadSummary.senderAddress.getAddress()).append(") ");
        if (uploadSummary.customerCode != null && !uploadSummary.customerCode.isEmpty()) {
            b.append("(C: ").append(uploadSummary.customerCode).append(')');
        }
        if (uploadSummary.bookingNumber != null && !uploadSummary.bookingNumber.isEmpty()) {
            b.append("(B: ").append(uploadSummary.bookingNumber).append(')');
        }
        b.append(' ').append((new SimpleDateFormat("hh-mm-ss").format(now)));
        uploadSummary.outputDirectory = new File(outDirParent, b.toString());
        uploadSummary.outputDirectory.mkdirs();
        if (!uploadSummary.outputDirectory.exists()) {
            throw new IOException("Unable to create final output folder " + uploadSummary.outputDirectory);
        }
        return uploadSummary.outputDirectory;
    }
