code: public static <A, B> Map<A, B> reverse(Map<A, B> map) {
      List<Map.Entry<A, B>> list = Lists.newArrayList(map.entrySet());
      Collections.reverse(list);
      return listToMap(list);
    }
docs: Returns a map with the same keys as {@code map}, but the reverse iteration
  order.
  
  @param map
  @return