code: public static <K, V, P> V getIfAbsentWith(
              Map<K, V> map,
              K key,
              Function<? super P, ? extends V> function,
              P parameter)
      {
          if (map instanceof UnsortedMapIterable)
          {
              return ((MapIterable<K, V>) map).getIfAbsentWith(key, function, parameter);
          }
          V result = map.get(key);
          if (MapIterate.isAbsent(result, map, key))
          {
              result = function.valueOf(parameter);
          }
          return result;
      }
docs: Get and return the value in the Map that corresponds to the specified key, or if there is no value
  at the key, return the result of evaluating the specified {@link Function} with the specified parameter.