@Override
  public @NotNull CharSequence substituteRecursively(@NotNull String text, boolean caseSensitive) {
    CharSequence result = text;
    for (String path : getPathIndex()) {
      result = replacePathMacroRecursively(result, path, caseSensitive);
    }
    return result;
  }
@Override
  public @NotNull CharSequence substituteRecursively(@NotNull String text, boolean caseSensitive)