public static <T, R> Callable<R> andThen(Callable<T> callable, Function<T, R> resultHandler) {
        return () -> resultHandler.apply(callable.call());
    }
@Test
    public void shouldChainCallableAndResultHandler() throws Exception {
        Callable<String> Callable = () -> "BLA";
        Callable<String> callableWithRecovery = CallableUtils.andThen(Callable, result -> "Bla");

        String result = callableWithRecovery.call();

        assertThat(result).isEqualTo("Bla");
    }