boolean completeTaskWhichFailToAcquireReadAction() {
    final boolean[] result = {true};
    // these tasks could not be executed in the other thread; do them here
    for (final ApplierCompleter<T> task : failedSubTasks) {
      ProgressManager.checkCanceled();
      ApplicationManager.getApplication().runReadAction(() ->
        task.wrapInReadActionAndIndicator(() -> {
          for (int i = task.lo; i < task.hi; ++i) {
            ProgressManager.checkCanceled();
            if (!task.processor.process(task.array.get(i))) {
              result[0] = false;
              break;
            }
          }
        }));
    }
    return result[0];
  }
boolean completeTaskWhichFailToAcquireReadAction()