/guava/android/guava/src/com/google/common/util/concurrent/AbstractFuture.java
Waiter waiter = future.waiters;Listener listener = future.listeners;
Listener listener = future.listeners;
boolean casListeners(AbstractFuture<?> future, @CheckForNull Listener expect, Listener update) { return UNSAFE.compareAndSwapObject(future, LISTENERS_OFFSET, expect, update); } @Override Listener gasListeners(AbstractFuture<?> future, Listener update) { while (true) { <extra_id_0> if (update == listener) { return listener; } if (casListeners(future, listener, update)) { return listener; }