code: private void genGoogMsgCodeForSelectNode(
        SoyMsgSelectPart selectPart, MsgNode msgNode, GoogMsgPlaceholderCodeGenInfo codeGenInfo) {
      // we need to always traverse into children in case any of the cases have unique placeholder
      MsgSelectNode reprNode = msgNode.getRepSelectNode(selectPart.getSelectVarName());
      if (!codeGenInfo.pluralsAndSelects.contains(selectPart.getSelectVarName())) {
        codeGenInfo.pluralsAndSelects.put(
            selectPart.getSelectVarName(), translateExpr(reprNode.getExpr()));
      }
  
      for (SoyMsgPart.Case<String> child : selectPart.getCases()) {
        genGoogMsgCodeForChildren(child.parts(), msgNode, codeGenInfo);
      }
    }
docs: Generates code bits for a {@code SoyMsgSelectPart} part of a message.
  
  @param selectPart A node of type {@code MsgSelectNode}.
  @param msgNode The enclosing {@code MsgNode} object.
  @param codeGenInfo Data structure holding information on placeholder names, plural variable
  names, and select variable names to be used for message code generation.