def record(self, crc_bytes):
        # type: (bytes) -> bytes
        '''
        A method to generate the string representing this UDF Descriptor Tag.

        Parameters:
         crc_bytes - The string to compute the CRC over.
        Returns:
         A string representing this UDF Descriptor Tag.
        '''
        if not self._initialized:
            raise pycdlibexception.PyCdlibInternalError('UDF Descriptor Tag not initialized')

        crc_byte_len = len(crc_bytes)
        if self.desc_crc_length >= 0:
            crc_byte_len = self.desc_crc_length

        # We need to compute the checksum, but we'll do that by first creating
        # the output buffer with the csum field set to 0, computing the csum,
        # and then setting that record back as usual.
        rec = bytearray(struct.pack(self.FMT, self.tag_ident, self.desc_version,
                                    0, 0, self.tag_serial_number,
                                    crc_ccitt(crc_bytes[:crc_byte_len]),
                                    crc_byte_len, self.tag_location))

        rec[4] = _compute_csum(rec)

        return bytes(rec)
A method to generate the string representing this UDF Descriptor Tag.

        Parameters:
         crc_bytes - The string to compute the CRC over.
        Returns:
         A string representing this UDF Descriptor Tag.