void push(@NotNull ModalityState modalityState,
            @NotNull Condition<?> expired,
            @NotNull Runnable runnable) {
    synchronized (getQueueLock()) {
      final int queueSize = myQueue.size();
      final RunnableInfo info = new RunnableInfo(runnable, modalityState, expired, queueSize);
      myQueue.enqueue(info);
      requestFlush();
    }
  }
void push(@NotNull ModalityState modalityState,
            @NotNull Condition<?> expired,
            @NotNull Runnable runnable)