docs: 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()