code: def unpack(self, buff, item_class, offset=0):
          
          begin = offset
          limit_buff = len(buff)
  
          while begin < limit_buff:
              item = item_class()
              item.unpack(buff, begin)
              self.append(item)
              begin += item.get_size()
docs: Unpack the elements of the list.
  
          Args:
              buff (bytes): The binary data to be unpacked.
              item_class (:obj:`type`): Class of the expected items on this list.
              offset (int): If we need to shift the beginning of the data.