Opening file in editor after download causes "Slow operations are prohibited"

Use case:

  • User invokes action from UI (project wizard)
  • Plugin downloads zip file using FileDownloader::downloadWithBackgroundProgress
  • Unzip when downloaded
  • Find file inside unzipped files using VfsUtil::findFileByIoFile
  • Open it in editor using FileEditorManager.getInstance(project).openEditor(descriptor, true)

Download is done in background but opening in editor requires EDT. I always end up with Slow operations are prohibited error.

Any advice how to use proper threads in that case?