class Fun {

    public static <K, V, P, Q> BiPredicate<K, V>
    composeTest2(final @NotNull Function<? super K, ? extends P> inputTFunction,
                 final @NotNull Function<? super V, ? extends Q> inputUFunction,
                 final @NotNull BiPredicate<? super P, ? super Q> testResult) {
        return (inputK, inputV) -> testResult.test(inputTFunction.apply(inputK), inputUFunction.apply(inputV));
    }

    private  Fun();

}