code: private static synchronized File getSwapDir() throws IOException {
  		if(SWAP_DIR == null) {
  			// create swap directory for this instance
  			File swapDir = File.createTempFile(SWAP_DIR_PREFIX, SWAP_DIR_SUFFIX, TMP_DIR);
  			// delete if created
  			swapDir.delete();
  			// create lock file
  			File lockFile = new File(TMP_DIR, swapDir.getName() + LOCK_FILE_SUFFIX);
  			lockFile.createNewFile();
  			// delete lock file on exit, to make swap directory 
  			// eligible for cleanup.
  			lockFile.deleteOnExit();
  			// make swap directory
  			swapDir.mkdirs();
  			// works reliably only on Unix platforms!
  			swapDir.deleteOnExit();
  			SWAP_DIR = swapDir;
  		}
  		return SWAP_DIR;
  	}
docs: Retrieves a file handle on the swap directory of this session.
  @return The swap directory of this session.
  @throws IOException