code: def _list_records_internal(self, identifier=None, rtype=None, name=None, content=None):
          
          response = self._request_get_dns_zone()
          if 'records' in response:
              # Interpret empty string as None because zeep does so too
              content_check = content if content != "" else None
              name_check = self._relative_name(name)
  
              # Stringize the identifier to prevent any rtype differences
              identifier_check = str(
                  identifier) if identifier is not None else None
  
              filtered_records = [
                  record for record in response['records'] if (
                      identifier is None or str(
                          record['id']) == identifier_check) and (
                              rtype is None or record['type'] == rtype) and (
                                  name is None or record['name'] == name_check) and (
                                      content is None or (
                                          'content' in record
                                          and record['content'] == content_check))]
              records = [self._create_response_record(
                  filtered_record) for filtered_record in filtered_records]
          else:
              records = []
          return records
docs: Lists all records by the specified criteria