docs: private static long computeMsgIdHelper(
        ImmutableList<SoyMsgPart> msgParts,
        boolean doUseBracedPhs,
        @Nullable String meaning,
        @Nullable String contentType) {
  
      // Important: Do not change this algorithm. Doing so will break backwards compatibility.
  
      String msgContentStrForMsgIdComputation =
          buildMsgContentStrForMsgIdComputation(msgParts, doUseBracedPhs);
  
      long fp = fingerprint(msgContentStrForMsgIdComputation);
  
      // If there is a meaning, incorporate its fingerprint.
      if (meaning != null) {
        fp = (fp << 1) + (fp < 0 ? 1 : 0) + fingerprint(meaning);
      }
  
      // If there is a content type other than "text/html", incorporate its fingerprint.
      if (contentType != null && !contentType.equals("text/html")) {
        fp = (fp << 1) + (fp < 0 ? 1 : 0) + fingerprint(contentType);
      }
  
      // To avoid negative ids we strip the high-order bit.
      return fp & 0x7fffffffffffffffL;
    }