/**
* Return an ordered Map where the order of entries is determined by the natural ordering of the value type.
*/
public static Map<String,Double> sortMapReversedByValue(Map<String,Double> in) {
@SuppressWarnings("unchecked")
SortedSetMultimap<Double,String> treeMap = TreeMultimap.create(new ReverseComparator(doubleComparator),
stringComparator);
for(Map.Entry<String,Double> e: in.entrySet()) {
treeMap.put(e.getValue(), e.getKey());
}