docs: def populate(self, priority, address, rtr, data):
          """
          :return: None
          """
          assert isinstance(data, bytes)
          self.needs_low_priority(priority)
          self.needs_no_rtr(rtr)
          self.needs_data(data, 4)
          self.set_attributes(priority, address, rtr)
          self.module_type = data[0]
          (self.serial,) = struct.unpack(
              '>L', bytes([0, 0, data[1], data[2]]))
          self.memory_map_version = data[3]
          if len(data) > 4:
              self.build_year = data[4]
              self.build_week = data[5]