@Contract(pure = true)
  public static int stringHashCodeInsensitive(char @NotNull [] chars, int from, int to) {
    int h = 0;
    for (int off = from; off < to; off++) {
      h = 31 * h + toLowerCase(chars[off]);
    }
    return h;
  }
@Contract(pure = true)
  public static int stringHashCodeInsensitive(char @NotNull [] chars, int from, int to)