'Decode bytes into an L{_OPTHeader} instance.
@type strio: L{file}
@param strio: Bytes will be read from this file until the full
L{_OPTHeader} is decoded.
@type length: L{int} or L{None}
@param length: Not used.'

def decode(self, strio, length=None):

    h = RRHeader()
    h.decode(strio, length)
    h.payload = UnknownRecord(readPrecisely(strio, h.rdlength))
    newOptHeader = self.fromRRHeader(h)
    for attrName in self.compareAttributes:
        if (attrName not in ('name', 'type')):
            setattr(self, attrName, getattr(newOptHeader, attrName))
