/guava/android/guava/src/com/google/common/util/concurrent/AbstractTransformFuture.java
input.addListener( output, rejectionPropagatingExecutor( output) ) ;
input.addListener ( output, rejectionPropagatingExecutor ( executor, output ) ) ;
static <I extends @Nullable Object, O extends @Nullable Object> ListenableFuture<O> create( ListenableFuture<I> input, AsyncFunction<? super I, ? extends O> function, Executor executor) { checkNotNull(executor); AsyncTransformFuture<I, O> output = new AsyncTransformFuture<>(input, function); <extra_id_0> return output; } static <I extends @Nullable Object, O extends @Nullable Object> ListenableFuture<O> create( ListenableFuture<I> input, Function<? super I, ? extends O> function, Executor executor) { checkNotNull(function); TransformFuture<I, O> output = new TransformFuture<>(input, function);