Is the temp file stuff done inside r.out()? Ah yes... just noticed it's not actually multiprocess safe though, as internally it uses a fixed name structure "final File temp = new File(actualFile.getParentFile(), actualFile.getName() + ".tmp");" instead of calling to File.createTempFile