List<KeyValuePair> kvpList = new ArrayList<KeyValuePair>(features.size());
Iterator<String> featureIterator = features.keySet().iterator();
while(featureIterator.hasNext()) {
String feature = featureIterator.next();
double value = features.get(feature);
KeyValuePair keyValuePair = new KeyValuePair(feature, value);
kvpList.add(keyValuePair);
}
ScorableComparator comparator = new ScorableComparator(true);
Collections.sort(kvpList, comparator);