def create(self, data, inlineparent = None):
        '''
        Create a struct and use all bytes of data. Different from parse(), this takes all data,
        store unused bytes in "extra" data of the struct. Some types like variable-length array
        may have different parse result with create() and parse().
        
        :param data: bytes of a packed struct.
        
        :param inlineparent: if specified, this struct is embedded in another struct "inlineparent"
        
        :returns: a created NamedStruct object.
        '''
        if self.base is not None:
            return self.base.create(data, inlineparent)
        c = self._create(data, inlineparent)
        self.subclass(c)
        return c
Create a struct and use all bytes of data. Different from parse(), this takes all data,
        store unused bytes in "extra" data of the struct. Some types like variable-length array
        may have different parse result with create() and parse().
        
        :param data: bytes of a packed struct.
        
        :param inlineparent: if specified, this struct is embedded in another struct "inlineparent"
        
        :returns: a created NamedStruct object.