code: def _add_open_file(self, file_obj):
          
          if self._free_fd_heap:
              open_fd = heapq.heappop(self._free_fd_heap)
              self.open_files[open_fd] = [file_obj]
              return open_fd
  
          self.open_files.append([file_obj])
          return len(self.open_files) - 1
docs: Add file_obj to the list of open files on the filesystem.
          Used internally to manage open files.
  
          The position in the open_files array is the file descriptor number.
  
          Args:
              file_obj: File object to be added to open files list.
  
          Returns:
              File descriptor number for the file object.