code: public static <K, V> Map<K, V> newMap(Map<K, V> map) {
          return Optional.ofNullable(map).map(HashMap::new)
                  .orElseGet(HashMap::new);
      }
docs: New map map.
  
  @param <K> the type parameter
  @param <V> the type parameter
  @param map the map
  @return the map