<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _update_record(self, identifier, rtype=None, name=None, content=None):
 """ Update a DNS entry identified by identifier or name in the domain zone. Any non given argument will leave the current value of the DNS entry. Args: identifier (str):
 The easyname id of the DNS entry to update. [rtype] (str):
 The DNS rtype (e.g. A, TXT, MX, etc) of the new entry. [name] (str):
 The name of the new DNS entry, e.g the domain for which a MX entry shall be valid. [content] (str):
 The content of the new DNS entry, e.g. the mail server hostname for a MX entry. Returns: bool: True if the record was updated successfully, False otherwise. Raises: AssertionError: When a request returns unexpected or unknown data. """

        if identifier is not None:
            identifier = int(identifier)
            records = self._list_records_internal(identifier=identifier)
        else:
            records = self._list_records_internal(name=name, rtype=rtype)
        LOGGER.debug('Records to update (%d): %s', len(records), records)
        assert records, 'No record found to update'
        success = True

        for record in records:
            name = name if name is not None else record['name']
            rtype = rtype if rtype is not None else record['type']
            content = content if content is not None \
                else record['content']
            success = success and self._create_record_internal(
                rtype, name, content, record['id'])
        return success