@Override
      public void invokeLater(@NotNull Runnable r) {
        //we need to make sure our tasks are executed in-place for the blocking mode
        ApplicationManager.getApplication().invokeAndWait(r);
      }
@Override
      public void invokeLater(@NotNull Runnable r)