public void unpatch() throws notModdedExcption {
		try {
			Date start = new Date();
			if (hasBackup()) {
				for (File file : files) {
					logger.debug(file.getName()
							+ " _bak will be restored, this file will be deleted");
					File bakFile = new File(file.getAbsolutePath() + "_bak");
					Misc.copyFile(bakFile, file);
					bakFile.delete();
				}
			Date end = new Date();
			logger.info("Unpatching done (" + (end.getTime() - start.getTime()) + "ms)");
			} else {
				logger.error("Archive \"" + this.getName() + "\" is not modded");
				throw new notModdedExcption("Archive \"" + this.getName()
						+ "\" is not modded");
			}
		} catch (IOException e) {
			logger.error("[" + this.getName() + "] Unpatch error ["
					+ e.getMessage() + "]");
		}

	}