public void save(File file) {
		FileOutputStream outputStream = null;
		try {
			if (!file.exists()) {
				file.getParentFile().mkdirs();
				file.createNewFile();
			}
			if (file.canWrite()) {
				outputStream = new FileOutputStream(file);
				for (Device device : devicesHistory.values()) {
					device.write(outputStream);
				}
				for (Host host : hosts.values()) {
					if (!LOCALHOST.equals(host.getHostname())) {
						host.write(outputStream);
					}
				}
			}
		} catch (IOException e) {

		} finally {
			if (outputStream != null) {
				try {
					outputStream.close();
				} catch (IOException e) {
					// do nothing
				}
			}
		}
	}