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