'Raises IOError and apev2.error'

def __fill_missing(self, fileobj):

    fileobj.seek((self.metadata + 8))
    data = fileobj.read(16)
    if (len(data) != 16):
        raise error
    self.version = data[:4]
    self.size = cdata.uint32_le(data[4:8])
    self.items = cdata.uint32_le(data[8:12])
    self.flags = cdata.uint32_le(data[12:])
    if (self.header is not None):
        self.data = (self.header + 32)
        self.end = (self.data + self.size)
        fileobj.seek((self.end - 32), 0)
        if (fileobj.read(8) == 'APETAGEX'):
            self.footer = (self.end - 32)
    elif (self.footer is not None):
        self.end = (self.footer + 32)
        self.data = (self.end - self.size)
        if (self.flags & HAS_HEADER):
            self.header = (self.data - 32)
        else:
            self.header = self.data
    else:
        raise APENoHeaderError('No    APE    tag    found')
    if (self.footer is not None):
        self.size -= 32
