code: @SuppressWarnings({"WeakerAccess", "unused"}) // For library users
      public static Searcher create(@NonNull final Searchable searchable) {
          final String key = searchable.toString();
          Searcher instance = instances.get(key);
          if (instance == null) {
              instance = new Searcher(searchable, key);
              instances.put(key, instance);
          } else {
              throw new IllegalStateException("There is already a Searcher for index " + key + ", you must specify a variant.");
          }
          return instance;
      }
docs: Constructs a Searcher from an existing {@link Searchable}.
  
  @param searchable an Index initialized and eventually configured.
  @return the new instance.