/guava/guava/src/com/google/common/util/concurrent/ClosingFuture.java
checkAndUpdateState( OPEN) ;
checkAndUpdateState ( OPEN, SUBSUMED ) ;
private <U extends @Nullable Object> ClosingFuture<U> derive(FluentFuture<U> future) { ClosingFuture<U> derived = new ClosingFuture<>(future); becomeSubsumedInto(derived.closeables); return derived; } private void becomeSubsumedInto(CloseableList otherCloseables) { <extra_id_0> otherCloseables.add(closeables, directExecutor()); } public static final class Peeker { private final ImmutableList<ClosingFuture<?>> futures; private volatile boolean beingCalled; private Peeker(ImmutableList<ClosingFuture<?>> futures) {