code: public Try<V> recover(Function<Throwable, V> recoverFunction) {
          if (isFailure()) {
              return succeeded(recoverFunction.apply(throwable));
          }
          return this;
      }
docs: Called the recover function of the Try failed otherwise returns this if it was successful.
  
  @param recoverFunction the function to recover from a throwable into a new value
  
  @return a Try of the same type