class ZetaSqlIdUtils {

  static String escapeAndJoin(List<String> parts) {
    return parts.stream()
        .map(ZetaSqlIdUtils::escapeSpecialChars)
        .map(ZetaSqlIdUtils::replaceWhitespaces)
        .map(ZetaSqlIdUtils::backtickIfNeeded)
        .collect(joining("."));
  }

}