private <T> T runWithReadAccess(@NotNull final ProgressIndicator progress, Callable<? extends T> task) {
    return ReadAction.nonBlocking(task).expireWhen(myProject::isDisposed).wrapProgress(progress).executeSynchronously();
  }
private <T> T runWithReadAccess(@NotNull final ProgressIndicator progress, Callable<? extends T> task)