in src/main/java/com/twitter/whiskey/futures/CompletableFuture.java [31:52]
public boolean set(final T result) {
if (done) return false;
synchronized(this) {
if (done) return false;
this.result = result;
done = true;
for (final Listener<T> listener : listeners) {
listener.getExecutor().execute(new Runnable() {
@Override
public void run() {
listener.onComplete(result);
}
});
}
notifyAll();
return true;
}
}