def parse(self, data):
        '''
        Parse the passed in data into a UDF Partition Header Descriptor.
        Parameters:
         data - The data to parse.
        Returns:
         Nothing.
        '''
        if self._initialized:
            raise pycdlibexception.PyCdlibInternalError('UDF Partition Header Descriptor already initialized')
        (unalloc_table_length, unalloc_table_pos, unalloc_bitmap_length,
         unalloc_bitmap_pos, part_integrity_table_length,
         part_integrity_table_pos, freed_table_length, freed_table_pos,
         freed_bitmap_length, freed_bitmap_pos,
         reserved_unused) = struct.unpack_from(self.FMT, data, 0)
        if unalloc_table_length != 0:
            raise pycdlibexception.PyCdlibInvalidISO('Partition Header unallocated table length not 0')
        if unalloc_table_pos != 0:
            raise pycdlibexception.PyCdlibInvalidISO('Partition Header unallocated table position not 0')
        if unalloc_bitmap_length != 0:
            raise pycdlibexception.PyCdlibInvalidISO('Partition Header unallocated bitmap length not 0')
        if unalloc_bitmap_pos != 0:
            raise pycdlibexception.PyCdlibInvalidISO('Partition Header unallocated bitmap position not 0')
        if part_integrity_table_length != 0:
            raise pycdlibexception.PyCdlibInvalidISO('Partition Header partition integrity length not 0')
        if part_integrity_table_pos != 0:
            raise pycdlibexception.PyCdlibInvalidISO('Partition Header partition integrity position not 0')
        if freed_table_length != 0:
            raise pycdlibexception.PyCdlibInvalidISO('Partition Header freed table length not 0')
        if freed_table_pos != 0:
            raise pycdlibexception.PyCdlibInvalidISO('Partition Header freed table position not 0')
        if freed_bitmap_length != 0:
            raise pycdlibexception.PyCdlibInvalidISO('Partition Header freed bitmap length not 0')
        if freed_bitmap_pos != 0:
            raise pycdlibexception.PyCdlibInvalidISO('Partition Header freed bitmap position not 0')
        self._initialized = True