When runBlockingCancellable is used inside with an ExternalAnnotator$doAnnotate, the job is never cancelled when the document is altered.
This looks to be break the contract of what is intended in the ExternalToolPass$runChangeAware (link)
The culprit looks to be this TODO statement because the run block is the code that calls doAnnotate code
Is there a way to bridge the external progress indicator to coroutine code (since the ProgressIndicator outside the runBlockingCancellable does get cancelled)?