def _add_name(self, rr_name, curr_dr_len):
        '''
        An internal method to add the appropriate name records to the ISO.
        Parameters:
         rr_name - The Rock Ridge name to add to the ISO.
         curr_dr_len - The current directory record length.
        Returns:
         The new directory record length.
        '''
        len_here = ALLOWED_DR_SIZE - curr_dr_len - 5
        if len_here < len(rr_name):
            curr_dr_len = self._add_ce_record(curr_dr_len, 0)
            len_here = ALLOWED_DR_SIZE - curr_dr_len - 5
        curr_nm = RRNMRecord()
        curr_nm.new(rr_name[:len_here])
        self.dr_entries.nm_records.append(curr_nm)
        curr_dr_len += RRNMRecord.length(rr_name[:len_here])
        offset = len_here
        while offset < len(rr_name):
            curr_nm.set_continued()
            length = min(len(rr_name[offset:]), 250)
            curr_nm = RRNMRecord()
            curr_nm.new(rr_name[offset:offset + length])
            self.ce_entries.nm_records.append(curr_nm)
            if self.dr_entries.ce_record is not None:
                self.dr_entries.ce_record.add_record(RRNMRecord.length(rr_name[offset:offset + length]))
            offset += length
        return curr_dr_len