src/main/java/javascalautils/Failure.java
@Override
    public Try<T> recoverWith(ThrowableFunction1<Throwable, Try<T>> function) {
        try {
            return function.apply(throwable);
        }
        catch(Throwable t) {
            return new Failure<>(t);
        }
    }
@Override
    public Try<T> recoverWith(ThrowableFunction1<Throwable, Try<T>> function) {
        try {
            return function.apply(throwable);
        }
        catch(Throwable t) {
            return new Failure<>(t);
        }
    }
Applies the provided function to the Throwable of this {@link Failure} and returns the result.

@since 1.4