public static <T> Function<Void, T> wrap(final Function<T, T> function,
        final Function<Function<T, T>, T> wrapper) {
        return new Function<Void, T>() {
            public T apply(final Void arg) {
                return wrapper.apply(function);
            }
        };
    }
public static < T > Function < Void , T > wrap ( final Function < T , T > function , final Function < Function < T , T > , T > wrapper ) { return new Function < Void , T > ( ) { public T apply ( final Void arg ) { return wrapper . apply ( function ) ; } } ; }
/*
Documented, #wrap