code: public FutureTask<Path> createTmpFile(String name, String filePath, JobID jobID) {
  
  		synchronized (count) {
  			Pair<JobID, String> key = new ImmutablePair(jobID,name);
  			if (count.containsKey(key)) {
  				count.put(key, count.get(key) + 1);
  			} else {
  				count.put(key, 1);
  			}
  		}
  		CopyProcess cp = new CopyProcess(name, filePath, jobID);
  		FutureTask<Path> copyTask = new FutureTask<Path>(cp);
  		executorService.submit(copyTask);
  		return copyTask;
  	}
docs: If the file doesn't exists locally, it will copy the file to the temp directory.