public static void free(Closeable... closeables) throws IOException {

		List<Throwable> throwables = new LinkedList<Throwable>();
		for (Closeable closeable : closeables) {

			try {

				if (null != closeable) {
					closeable.close();
				}
			} catch (IOException e) {
				throwables.add(e);
			}
		}

		if (!throwables.isEmpty()) {
			throw new IOException(Lang.comboThrow(throwables));
		}
	}