code: public static <K, V> Map<K, V> reverseEach(Map<K, V> self, @ClosureParams(MapEntryOrKeyValue.class) Closure closure) {
          final Iterator<Map.Entry<K, V>> entries = reverse(self.entrySet().iterator());
          while (entries.hasNext()) {
              callClosureForMapEntry(closure, entries.next());
          }
          return self;
      }
docs: Allows a Map to be iterated through in reverse order using a closure.
  
  In general, the order in which the map contents are processed
  cannot be guaranteed. In practise, specialized forms of Map,
  e.g. a TreeMap will have its contents processed according to the
  reverse of the natural ordering of the map.
  
  @param self    the map over which we iterate
  @param closure the 1 or 2 arg closure applied on each entry of the map
  @return returns the self parameter
  @see #each(Map, Closure)
  @since 1.7.2