code: @SuppressWarnings({"WeakerAccess", "unused"}) // For library users
      public static Searcher create(@NonNull final Searchable index, @NonNull String variant) {
          Searcher instance = instances.get(variant);
          if (instance == null || instance.getSearchable() != index) {
              instance = new Searcher(index, variant);
              instances.put(variant, instance);
          }
          return instance;
      }
docs: Constructs the Searcher from an existing {@link Index}, eventually replacing the existing searcher for {@code variant}.
  
  @param variant an identifier to differentiate this Searcher from eventual others using the same index. Defaults to the index's name.
  @param index   an Index initialized and eventually configured.
  @return the new instance.