@Override
  public @NotNull Set<@NotNull String> getInnerPaths(SearchableConfigurable configurable, String option) {
    initialize();
    Set<String> words = getProcessedWordsWithoutStemming(option);
    Set<OptionDescription> path = getOptionDescriptionsByWords(configurable, words);

    if (path == null || path.isEmpty()) {
      return Collections.emptySet();
    }

    Set<String> resultSet = new HashSet<>();
    OptionDescription theOnlyResult = null;
    for (OptionDescription description : path) {
      String hit = description.getHit();
      if (hit != null) {
        boolean theBest = true;
        for (String word : words) {
          if (!StringUtil.containsIgnoreCase(hit, word)) {
            theBest = false;
            break;
          }
        }
        if (theBest) {
          String p = description.getPath();
          if (p != null) {
            resultSet.add(p);
          }
        }
      }
      theOnlyResult = description;
    }

    if (resultSet.isEmpty()) {
      String p = theOnlyResult.getPath();
      if (p != null) {
        resultSet.add(p);
      }
    }

    return resultSet;
  }
@Override
  public @NotNull Set<@NotNull String> getInnerPaths(SearchableConfigurable configurable, String option)