Like CompletableFuture.copy(). Not sure if it makes sense for other ListenableFutures, but at least for SettableFuture, I don't want an unauthorized client to set the future.
I'm thinking about using Futures.transform(), which seems to create a chained ListenableFuture.