@Contract(value = "_ -> new", pure = true)
  public static @NotNull IdIndexer createDefaultIndexer(@NotNull WordsScanner scanner) {
    return new ScanningIdIndexer() {
      @Override
      protected WordsScanner createScanner() {
        return scanner;
      }
    };
  }
@Contract(value = "_ -> new", pure = true)
  public static @NotNull IdIndexer createDefaultIndexer(@NotNull WordsScanner scanner)