guava/src/com/google/common/util/concurrent/ListenerCallQueue.java
public void addListener(L listener, Executor executor) {
    checkNotNull(listener, "listener");
    checkNotNull(executor, "executor");
    listeners.add(new PerListenerQueue<>(listener, executor));
  }
public void addListener(L listener, Executor executor) {
    checkNotNull(listener, "listener");
    checkNotNull(executor, "executor");
    listeners.add(new PerListenerQueue<>(listener, executor));
  }
public void addListener ( L listener , Executor executor ) { checkNotNull ( listener , "listener" ) ; checkNotNull ( executor , "executor" ) ; listeners . add ( new PerListenerQueue <> ( listener , executor ) ) ; }
Adds a listener that will be called using the given executor when events are later {@link
#enqueue enqueued} and {@link #dispatch dispatched}.
Adds a listener that will be called using the given executor when events are later {