public File getTransactionFile(File file) throws IOException {
		if (mStarted == 0) {
			throw new IllegalStateException(NO_TRANSACTION_IN_PROGRESS);
		} else if (file == null) {
			throw new IllegalArgumentException(MAY_NOT_BE_NULL);
		} else if (file.isDirectory()) {
			throw new IllegalArgumentException(MAY_NOT_BE_DIRECTORY);
		}

		File transFile = mFiles.get(file);
		if (transFile == null) {
			transFile = File.createTempFile(".trn", null, file.getParentFile()); //$NON-NLS-1$
			mFiles.put(file, transFile);
		}
		return transFile;
	}