code: def unpack_reply(cls, header, payload):
          
          reply = cls(
              header.session_id, header.packet_count,
              segments=tuple(ReplySegment.unpack_from(payload, expected_segments=header.num_segments)),
              header=header
          )
          trace(reply)
          return reply
docs: Take already unpacked header and binary payload of received request reply and creates message instance
          :param header: a namedtuple header object providing header information
          :param payload: payload (BytesIO instance) of message