Skip to the next possibly decompressable part of a gzip file.
    Return a new GzipFile object if such part is found or None
    if it is not found.

def recover(gzfile, last_good_position):
    # type: (gzip.GzipFile, int) -> gzip.GzipFile
    """ 
    Skip to the next possibly decompressable part of a gzip file.
    Return a new GzipFile object if such part is found or None
    if it is not found.
    """
    pos = get_recover_position(gzfile, last_good_position=last_good_position)
    if pos == -1:
        return None
    fp = gzfile.fileobj
    fp.seek(pos)
#     gzfile.close()
    return gzip.GzipFile(fileobj=fp, mode='r')