code: public static <K1, V1, K2, V2> MutableMap<K2, V2> collect(
              Map<K1, V1> map,
              Function<? super K1, ? extends K2> keyFunction,
              Function<? super V1, ? extends V2> valueFunction)
      {
          return MapIterate.collect(map, keyFunction, valueFunction, UnifiedMap.<K2, V2>newMap());
      }
docs: For each key-value entry of a map, applies a function to each, and adds the transformed entry to a new Map.