docs: public static <T, R> Callable<R> andThen(Callable<T> callable, BiFunction<T, Exception, R> handler){
          return () -> {
              try{
                  T result = callable.call();
                  return handler.apply(result, null);
              }catch (Exception exception){
                  return handler.apply(null, exception);
              }
          };
      }