docs: public static String[] quotelessTableName(String fullname) {
  
      String[] parts = new String[]{null, ""};
      StringBuilder acc = new StringBuilder();
      boolean betweenQuotes = false;
      for (int i = 0; i < fullname.length(); i++) {
        char c = fullname.charAt(i);
        switch (c) {
          case '"':
            if ((i < fullname.length() - 1) && (fullname.charAt(i + 1) == '"')) {
              // two consecutive quotes - keep one
              i++;
              acc.append(c); // keep the quote
            } else { // Discard it
              betweenQuotes = !betweenQuotes;
            }
            break;
          case '.':
            if (betweenQuotes) { // Keep it
              acc.append(c);
            } else { // Have schema name
              parts[1] = acc.toString();
              acc = new StringBuilder();
            }
            break;
          default:
            acc.append((betweenQuotes) ? c : Character.toLowerCase(c));
            break;
        }
      }
      // Always put table in slot 0
      parts[0] = acc.toString();
      return parts;
    }