class Fun {

    public static <K, V> Function<V, Map.Entry<K, V>>
    zipValuesWithKeyFunc(final @NotNull Function<? super V, ? extends K> keyFunction) {
        return value -> toEntry(keyFunction.apply(value), value);
    }

    private  Fun();

}