code: private static MsgPartsAndIds buildMsgPartsAndComputeMsgIds(
        MsgNode msgNode, boolean doComputeMsgIdUsingBracedPhs) {
  
      ImmutableList<SoyMsgPart> msgParts = buildMsgParts(msgNode);
      long msgId =
          SoyMsgIdComputer.computeMsgId(msgParts, msgNode.getMeaning(), msgNode.getContentType());
      long msgIdUsingBracedPhs =
          doComputeMsgIdUsingBracedPhs
              ? SoyMsgIdComputer.computeMsgIdUsingBracedPhs(
                  msgParts, msgNode.getMeaning(), msgNode.getContentType())
              : -1L;
      return new MsgPartsAndIds(msgParts, msgId, msgIdUsingBracedPhs);
    }
docs: Builds the list of SoyMsgParts and computes the unique message id(s) for the given MsgNode.
  
  @param msgNode The message parsed from the Soy source.
  @param doComputeMsgIdUsingBracedPhs Whether to compute the alternate message id using braced
  placeholders. If set to false, then the field {@code idUsingBracedPhs} in the return value
  is simply set to -1L.
  @return A {@code MsgPartsAndIds} object.