static String escapeAndJoin(List<String> parts) {
    return parts.stream()
        .map(ZetaSqlIdUtils::escapeSpecialChars)
        .map(ZetaSqlIdUtils::replaceWhitespaces)
        .map(ZetaSqlIdUtils::backtickIfNeeded)
        .collect(joining("."));
  }
@Test
  public void testHandlesWhiteSpacesInOnePart() {
    List<String> id = Arrays.asList("a\nab\tbc\rcd\fd");
    assertEquals("`a\\nab\\tbc\\rcd\\fd`", ZetaSqlIdUtils.escapeAndJoin(id));
  }