def METHOD_NAME(set_id, pkt, *a, **k):
    tmpl_set = tmpl_sets.get(set_id)
    if not tmpl_set: # we did not see template
        return IPFIXSetDataRaw
    _fields_desc = _get_field_desc(tmpl_set)
    class IPFIXDataRecord(Packet):
        fields_desc = _fields_desc
        def extract_padding(self, s):
            if len(self.fields_desc) > len(s):
                return s, None
            return '', s
    class IPFIXSetData(IPFIXSetDataRaw):
        name = 'IPFIX Data set (ID %s)' % set_id
        fields_desc = [
                _IPFIXSetHeader,
                PacketListField('records', [], IPFIXDataRecord, length_from = lambda pkt: pkt.length-4) ]
    return IPFIXSetData