def METHOD_NAME(self):
    """Go to the next file and retrun its filehandle or None (meaning no more files)."""
    filename = self.next_filename()
    if filename is None:
        fhandle = None
    elif filename == '-':
        fhandle = io.TextIOWrapper(sys.stdin.buffer, encoding=self.encoding)
    elif filename == '<filehandle_input>':
        fhandle = self.filehandle
    else:
        filename_extension = filename.split('.')[-1]
        if filename_extension == 'gz':
            myopen = gzip.open
        elif filename_extension == 'xz':
            myopen = lzma.open
        elif filename_extension == 'bz2':
            myopen = bz2.open
        else:
            myopen = open
        fhandle = myopen(filename, 'rt', encoding=self.encoding)
    self.filehandle = fhandle
    return fhandle