private void downloadFiles(boolean multihost) {
		if (Config.defaultDownloadFolder == null) {
			JOptionPane.showMessageDialog(null, "Please set a Download-Folder first");
			return;
		}
		// filesHostsTable.getRowSorter().
		int[] selected = filesHostsTable.getSelectedRows();
		//
		// for(int i : selected){
		//
		// }
		//
		//
		// int[] selected = filesHostsTable.convertRowIndexToModel();

		for (int i : selected) {
			// "Filename", "Meta-Information", "Size", "Host-Name","IP", "Hash",
			// "TTL"
			int index = filesHostsTable.convertRowIndexToModel(i);
			String hash = tablemodel.getValueAt(index, 5);
			String ip = tablemodel.getValueAt(index, 4);
			String name = cleanName(tablemodel.getValueAt(index, 0));
			
			String downloadPath = Config.defaultDownloadFolder + java.io.File.separatorChar + name;

			if (new File(downloadPath).isFile()) {
				// return, if file exists
				JOptionPane.showMessageDialog(null, "file exists: " + downloadPath);
				LoggerWrapper.logInfo("file exists: " + downloadPath);
				return;
			}

			if (buschtrommel != null) {
				Host host = null;
				try {
					host = buschtrommel.getHosts().get(InetAddress.getByName(ip));
				} catch (UnknownHostException e) {
				}

				if (host == null) {
					LoggerWrapper.logError("Can't start download - the host is unknown");
					return;
				}
				ITransferProgress progress;
				if (multihost) {
					progress = buschtrommel.DownloadFile(hash, downloadPath);

				} else {

					progress = buschtrommel.DownloadFile(hash, downloadPath, host);
				}

				if (progress != null) {
					downloadItems.addElement(progress);
					if (!transferTimer.isRunning()) {
						transferTimer.start();
					}
				} else {
					LoggerWrapper.logError("Something with the download went wrong");
				}

			}
		}
	}