@Deprecated
	public static <T,B> 
	int indexedBinarySearch(List<B> l, F1<B,T> keyF, T key,
			Comparator<? super T> c) {
		int low = 0;
		int high = l.size() - 1;

		while (low <= high) {
			int mid = (low + high) >>> 1;
			T midVal = keyF.e(l.get(mid));
			int cmp = c.compare(midVal, key);

			if (cmp < 0)
				low = mid + 1;
			else if (cmp > 0)
				high = mid - 1;
			else
				return mid; // key found
		}
		return -(low + 1); // key not found
	}