@ApiStatus.Internal
  public synchronized void initialize() {
    if (!isInitialized.compareAndSet(false, true)) {
      return;
    }

    MySearchableOptionProcessor processor = new MySearchableOptionProcessor(stopWords);
    try {
      EP_NAME.forEachExtensionSafe(contributor -> contributor.processOptions(processor));
    }
    catch (ProcessCanceledException e) {
      LOG.warn("=== Search storage init canceled ===");
      isInitialized.set(false);
      throw e;
    }

    // index
    highlightOptionToSynonym = processor.computeHighlightOptionToSynonym();

    storage = processor.getStorage();
    identifierTable = processor.identifierTable;
  }
@ApiStatus.Internal
  public synchronized void initialize()