code: def parse(self, plist):
          
          if not isinstance(plist, PacketList):
              plist = PacketList(plist)
          for pkt in plist[LLTD]:
              if LLTDQueryLargeTlv in pkt:
                  key = "%s:%s:%d" % (pkt.real_dst, pkt.real_src, pkt.seq)
                  self.types_offsets[key] = (pkt[LLTDQueryLargeTlv].type,
                                             pkt[LLTDQueryLargeTlv].offset)
              elif LLTDQueryLargeTlvResp in pkt:
                  try:
                      key = "%s:%s:%d" % (pkt.real_src, pkt.real_dst, pkt.seq)
                      content, offset = self.types_offsets[key]
                  except KeyError:
                      continue
                  loc = slice(offset, offset + pkt[LLTDQueryLargeTlvResp].len)
                  key = "%s > %s [%s]" % (
                      pkt.real_src, pkt.real_dst,
                      LLTDQueryLargeTlv.fields_desc[0].i2s.get(content, content),
                  )
                  data = self.data.setdefault(key, array("B"))
                  datalen = len(data)
                  if datalen < loc.stop:
                      data.extend(array("B", b"\x00" * (loc.stop - datalen)))
                  data[loc] = array("B", pkt[LLTDQueryLargeTlvResp].value)
docs: Update the builder using the provided `plist`. `plist` can
          be either a Packet() or a PacketList().