/guava/guava/src/com/google/common/util/concurrent/AbstractCatchingFuture.java
this.inputFuture = null; maybePropagateCancellationTo( inputFuture) ;
maybePropagateCancellationTo ( inputFuture ) ; this.inputFuture = null;
@ParametricNullness abstract T doFallback(F fallback, X throwable) throws Exception; @ForOverride abstract void setResult(@ParametricNullness T result); @Override protected final void afterDone() { <extra_id_0> this.exceptionType = null; this.fallback = null; } private static final class AsyncCatchingFuture<V extends @Nullable Object, X extends Throwable> extends AbstractCatchingFuture< V, X, AsyncFunction<? super X, ? extends V>, ListenableFuture<? extends V>> {