private AsyncState getAsyncState() {
    AsyncState state = myState; // memory barrier
    if (state == null) {
      if (myStateFuture == null) {
        ((FileBasedIndexImpl)FileBasedIndex.getInstance()).waitUntilIndicesAreInitialized();
      }
      if (ProgressManager.getInstance().isInNonCancelableSection()) {
        try {
          state = Futures.getUnchecked(myStateFuture);
        }
        catch (Exception e) {
          FileBasedIndexImpl.LOG.error(e);
        }
      }
      else {
        CompletableFuture<AsyncState> future = myStateFuture;
        if (future == null) {
          throw new AlreadyDisposedException("Stub Index is already disposed");
        }
        state = ProgressIndicatorUtils.awaitWithCheckCanceled(future);
      }
      myState = state;
    }
    return state;
  }
private AsyncState getAsyncState()