<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def registerHandler(self, fh):
 # Do I even need that? possible FIXME. """ Register new file descriptor. Parameters fh : int File descriptor. """


        self.fds.add(fh)
        self.atime = int(time()) # update access time

        self.lock.acquire()

        try:
            if (0, self.filesize) not in self.avail and self.preferences['stream'] is False:

                Downloader.fetch(self, None, fh) # lock forces other threads to wait, so fetch will perform just once.
        except requests.exceptions.ConnectionError:
            raise ConnectionError

        finally:
            self.lock.release()