'Add a record to our authority.  Expand domain with origin if necessary.
@param owner: origin?
@type owner: L{bytes}
@param ttl: time to live for the record
@type ttl: L{int}
@param domain: the domain for which the record is to be added
@type domain: L{bytes}
@param type: record type
@type type: L{str}
@param cls: record class
@type cls: L{str}
@param rdata: record data
@type rdata: L{list} of L{bytes}'

def addRecord(self, owner, ttl, type, domain, cls, rdata):

    if (not domain.endswith('.')):
        domain = ((domain + '.') + owner[:(-1)])
    else:
        domain = domain[:(-1)]
    f = getattr(self, ('class_%s' % (cls,)), None)
    if f:
        f(ttl, type, domain, rdata)
    else:
        raise NotImplementedError(('Record    class    %r    not    supported' % (cls,)))
