/guava/guava/src/com/google/common/base/Suppliers.java
Function<? super F, T> function;
final Function<? super F, T> function;
public static <F extends @Nullable Object, T extends @Nullable Object> Supplier<T> compose( Function<? super F, T> function, Supplier<F> supplier) { return new SupplierComposition<>(function, supplier); } private static class SupplierComposition<F extends @Nullable Object, T extends @Nullable Object> implements Supplier<T>, Serializable { <extra_id_0> final Supplier<F> supplier; SupplierComposition(Function<? super F, T> function, Supplier<F> supplier) { this.function = checkNotNull(function); this.supplier = checkNotNull(supplier); } @Override