docs: def answers(self, other):
          """In CCP, the payload of a DTO packet is dependent on the cmd field
          of a corresponding CRO packet. Two packets correspond, if there
          ctr field is equal. If answers detect the corresponding CRO, it will
          interpret the payload of a DTO with the correct class. In CCP, there is
          no other way, to determine the class of a DTO payload. Since answers is
          called on sr and sr1, this modification of the original answers
          implementation will give a better user experience. """
          if not hasattr(other, "ctr"):
              return 0
          if self.ctr != other.ctr:
              return 0
          if not hasattr(other, "cmd"):
              return 0
  
          new_pl_cls = self.get_dto_cls(other.cmd)
          if self.payload_cls != new_pl_cls and \
                  self.payload_cls == DEFAULT_DTO:
              data = bytes(self.load)
              self.remove_payload()
              self.add_payload(new_pl_cls(data))
              self.payload_cls = new_pl_cls
          return 1