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