public static <K,V> Map<V,K> reverseMulti(Map<K, Collection<V>> groups) {
		HashMap<V, K> ret = new HashMap<>();
		for (Entry<K, Collection<V>> entry : groups.entrySet()) {
			for (V v : entry.getValue()) {
				ret.put(v, entry.getKey());
			}
		}
		return ret;
	}