// return a fancy litorderedmap static Map orderMapByDescendingValue(final Map map) { L l = new ArrayList(map.keySet()); sort(l, new Comparator() { public int compare(A a, A b) { ret cmp(map.get(b), map.get(a)); } }); Map map2 = litorderedmap(); for (A a : l) map2.put(a, map.get(a)); ret map2; }