public void dispose() {
    try {
      myPerFileElementTypeStubModificationTracker.dispose();
      Collection<UpdatableIndex<?, Void, FileContent, ?>> values = getAsyncState().myIndices.values();
      IndexDataInitializer.runParallelTasks(ContainerUtil.map(values, index -> (ThrowableRunnable<Throwable>)() -> {
        try {
          index.dispose();
        }
        catch (Exception e) {
          LOG.error(e);
        }
      }), false);
    } finally {
      clearState();
    }
  }
public void dispose()