code: public static <K, V> Function<K, V> forMap(Map<K, ? extends V> map, @Nullable V defaultValue) {
  		return key -> map.containsKey(key) ? map.get(key) : defaultValue;
  	}
docs: Returns a function which performs a map lookup with a default value. The function created by
  this method returns {@code defaultValue} for all inputs that do not belong to the map's key
  set. See also {@link #forMap(Map)}, which throws an exception in this case.
  
  @param map source map that determines the function behavior
  @param defaultValue the value to return for inputs that aren't map keys
  @return function that returns {@code map.get(a)} when {@code a} is a key, or {@code
  defaultValue} otherwise