private void executeDownloadJob(DownloadJob job) throws IOException,
			JSchException {
		updateable.send(new StatusUpdate("VM " + id + "  Executing DownloadJob", id,
				VMState.EXECUTING, JobType.DOWNLOAD));

		boolean success = FTPService.downloadSock(job.getUploaderIP(),
				job.getSession(),
				FileLocations.folderForIp(job.getUploaderIP()));
		synchronized (fileSystem) {
			if (!fileSystem.containsKey(job.getUploaderIP())) {
				fileSystem.put(job.getUploaderIP(),
						new HashMap<Integer, String>());
			}
			HashMap<Integer, String> fileMapping = fileSystem.get(job
					.getUploaderIP());
			for (Integer i : job.getFileIds())
				fileMapping.put(i,
						FileLocations.pathForFileid(job.getUploaderIP(), i));
		}

		updateable.send(new StatusUpdate("VM " + id + "  DownloadJob result: " + success,
				id, VMState.EXECUTING));

	}