docs: def decode_payload_as(self,cls):
          """Reassembles the payload and decode it using another packet class"""
          s = bytes(self.payload)
          self.payload = cls(s, _internal=1, _underlayer=self)
          pp = self
          while pp.underlayer is not None:
              pp = pp.underlayer
          self.payload.dissection_done(pp)