public TableIdentifier toLowerCase() {
    String[] newLevels =
        Arrays.stream(namespace().levels()).map(String::toLowerCase).toArray(String[]::new);
    String newName = name().toLowerCase(Locale.ROOT);
    return TableIdentifier.of(Namespace.of(newLevels), newName);
  }
@Test
  public void testToLowerCase() {
    assertThat(TableIdentifier.of("tbl")).isEqualTo(TableIdentifier.of("Tbl").toLowerCase());
    assertThat(TableIdentifier.of("db", "tbl"))
        .isEqualTo(TableIdentifier.of("dB", "TBL").toLowerCase());
    assertThat(TableIdentifier.of("catalog", "db", "tbl"))
        .isEqualTo(TableIdentifier.of("Catalog", "dB", "TBL").toLowerCase());
  }