@Contract(pure = true)
  public static @NotNull String commonPrefix(@NotNull String s1, @NotNull String s2) {
    return s1.substring(0, commonPrefixLength(s1, s2));
  }
@Contract(pure = true)
  public static @NotNull String commonPrefix(@NotNull String s1, @NotNull String s2)