'Return the next item using TarFile\'s next() method.
When all members have been read, set TarFile as _loaded.'

def next(self):

    if (not self.tarfile._loaded):
        tarinfo = self.tarfile.next()
        if (not tarinfo):
            self.tarfile._loaded = True
            raise StopIteration
    else:
        try:
            tarinfo = self.tarfile.members[self.index]
        except IndexError:
            raise StopIteration
    self.index += 1
    return tarinfo
