<X extends Throwable> FluentFuture<V> | 
FluentFuture.catchingAsync(Class<X> exceptionType,
             AsyncFunction<? super X,? extends V> fallback,
             Executor executor) | 
 Returns a Future whose result is taken from this Future or, if this 
 Future fails with the given exceptionType, from the result provided by the 
 fallback. 
 | 
static <V extends @Nullable Object,X extends Throwable> ListenableFuture<V> | 
Futures.catchingAsync(ListenableFuture<? extends V> input,
             Class<X> exceptionType,
             AsyncFunction<? super X,? extends V> fallback,
             Executor executor) | 
 Returns a Future whose result is taken from the given primary input or, if the
 primary input fails with the given exceptionType, from the result provided by the
 fallback. 
 | 
<T extends @Nullable Object> FluentFuture<T> | 
FluentFuture.transformAsync(AsyncFunction<? super V,T> function,
              Executor executor) | 
 Returns a new Future whose result is asynchronously derived from the result of this
 Future. 
 | 
static <I extends @Nullable Object,O extends @Nullable Object> ListenableFuture<O> | 
Futures.transformAsync(ListenableFuture<I> input,
              AsyncFunction<? super I,? extends O> function,
              Executor executor) | 
 Returns a new Future whose result is asynchronously derived from the result of the
 given Future. 
 | 
static <V extends @Nullable Object,U extends @Nullable Object> ClosingFuture.AsyncClosingFunction<V,U> | 
ClosingFuture.withoutCloser(AsyncFunction<V,U> function) | 
 |