void writeSuspendWhilePumpingIdeEventQueueHopingForTheBest(@NotNull Runnable runnable) {
    boolean prev = writeSuspended;
    writeSuspended = true;
    writeUnlock();
    try {
      runnable.run();
    }
    finally {
      cancelActionsToBeCancelledBeforeWrite();
      writeLock();
      writeSuspended = prev;
    }
  }
void writeSuspendWhilePumpingIdeEventQueueHopingForTheBest(@NotNull Runnable runnable)