public static <E,K> Map<K, Collection<E>> indexMulti(
			List<E> list, F1<E, K> keyF) {
		HashMap<K, Collection<E>> ret = new HashMap<K, Collection<E>>();
		for (E e : list) {
			K key = keyF.e(e);
			Collection<E> col = ret.get(key);
			if (col == null) {
				col = new LinkedList<E>();
				ret.put(key, col);
			}
			col.add(e);
		}
		return ret;
	}