public final @NotNull CharSequence substitute(@NotNull String text, boolean caseSensitive, boolean recursively) {
    return recursively
           ? substituteRecursively(text, caseSensitive)
           : substitute(text, caseSensitive);
  }
public final @NotNull CharSequence substitute(@NotNull String text, boolean caseSensitive, boolean recursively)