code: public static <K, V, NK, NV> Map<NK, NV> newChangedKeyValueMap(
              Map<K, V> map, Function<K, NK> changingKeyFunction,
              Function<V, NV> changingValueFunction) {
          return buildEntryStream(map).collect(toMap(
                  entry -> changingKeyFunction.apply(entry.getKey()),
                  entry -> changingValueFunction.apply(entry.getValue())));
      }
docs: New changed key value map map.
  
  @param <K>                   the type parameter
  @param <V>                   the type parameter
  @param <NK>                  the type parameter
  @param <NV>                  the type parameter
  @param map                   the map
  @param changingKeyFunction   the changing key function
  @param changingValueFunction the changing value function
  @return the map