IL
<T, V, U, Function extends TriFunction<T, V, U, Function>, Function, Handler>Так не лучше? Мб не понял пару моментов насчет хендлера и функций, но хотя бы так
static Function getHandler(final Handler key, final Map<Handler, Function> functions, final T t, final V v, final U u, final Function default_function) {
return Optional.ofNullable(map.get(key))
.map(func -> func.apply(t, v, u))
.orElse(default_function);
}