private synchronized void runTask(@NotNull Editor editor, Runnable task) {
    Future<?> future = myExecutor.submit(() -> {
      myRequests.remove(editor);
      task.run();
    });
    myRequests.put(editor, future);
  }
private synchronized void runTask(@NotNull Editor editor, Runnable task)