code: def parse(self, data):
          # type: (bytes) -> None
          '''
          Parse the passed in data into a UDF ICB Tag.
  
          Parameters:
           data - The data to parse.
          Returns:
           Nothing.
          '''
          if self._initialized:
              raise pycdlibexception.PyCdlibInternalError('UDF ICB Tag already initialized')
  
          (self.prior_num_direct_entries, self.strategy_type, self.strategy_param,
           self.max_num_entries, reserved, self.file_type,
           self.parent_icb_log_block_num, self.parent_icb_part_ref_num,
           self.flags) = struct.unpack_from(self.FMT, data, 0)
  
          if self.strategy_type not in (4, 4096):
              raise pycdlibexception.PyCdlibInvalidISO('UDF ICB Tag invalid strategy type')
  
          if reserved != 0:
              raise pycdlibexception.PyCdlibInvalidISO('UDF ICB Tag reserved not 0')
  
          self._initialized = Truf parse(self, data):
          # type: (bytes) -> None
          '''
          Parse the passed in data into a UDF ICB Tag.
  
          Parameters:
           data - The data to parse.
          Returns:
           Nothing.
          '''
          if self._initialized:
              raise pycdlibexception.PyCdlibInternalError('UDF ICB Tag already initialized')
  
          (self.prior_num_direct_entries, self.strategy_type, self.strategy_param,
           self.max_num_entries, reserved, self.file_type,
           self.parent_icb_log_block_num, self.parent_icb_part_ref_num,
           self.flags) = struct.unpack_from(self.FMT, data, 0)
  
          if self.strategy_type not in (4, 4096):
              raise pycdlibexception.PyCdlibInvalidISO('UDF ICB Tag invalid strategy type')
  
          if reserved != 0:
              raise pycdlibexception.PyCdlibInvalidISO('UDF ICB Tag reserved not 0')
  
          self._initialized = True
docs: Parse the passed in data into a UDF ICB Tag.
  
          Parameters:
           data - The data to parse.
          Returns:
           Nothing.