docs: def sanitize(self):
          '''
          Check if the current settings conform to the LISP specifications and
          fix them where possible.
          '''
          super(EncapsulatedControlMessage, self).sanitize()
  
          # S: This is the Security bit.  When set to 1 the following
          # authentication information will be appended to the end of the Map-
          # Reply.  The detailed format of the Authentication Data Content is
          # for further study.
          if not isinstance(self.security, bool):
              raise ValueError('Security flag must be a boolean')
  
          if self.security:
              raise NotImplementedError('Handling security data is not ' +
                                        'implemented yet')
  
          # "D" is the "DDT-originated" flag and is set by a DDT client to
          # indicate that the receiver can and should return Map-Referral
          # messages as appropriate.
          if not isinstance(self.ddt_originated, bool):
              raise ValueError('DDT originated flag must be a boolean')
  
          # The 6th bit in the ECM LISP header is allocated as the "R"
          # bit.  The R bit indicates that the encapsulated Map-Register is
          # to be processed by an RTR.
          if not isinstance(self.for_rtr, bool):
              raise ValueError('For-RTR flag must be a boolean')
  
          # The 7th bit in the ECM header is allocated as the "N" bit.  The
          # N bit indicates that this Map-Register is being relayed by an
          # RTR.  When an RTR relays the ECM-ed Map-Register to a Map-Server,
          # the N bit must be set to 1.
          if not isinstance(self.relayed_by_rtr, bool):
              raise ValueError('Relayed-by-RTR flag must be a boolean')