String () { if (!myLoadingStarted) { myLoadingStarted = true; ReadAction .nonBlocking(() -> new RangeDescription(computeDescription())) .finishOnUiThread(ModalityState.any(), result -> { myDescription = result; if (result.description != null) repaintEditor(); }) .withDocumentsCommitted(myProject) .wrapProgress(myDescriptionsIndicator) .submit(NonUrgentExecutor.getInstance()); } return myDescription.description; }