code: def _get_file_stash(self, path):
          
          path = os.path.normcase(path)
          head, old_head = os.path.dirname(path), None
          save_dir = None
  
          while head != old_head:
              try:
                  save_dir = self._save_dirs[head]
                  break
              except KeyError:
                  pass
              head, old_head = os.path.dirname(head), head
          else:
              # Did not find any suitable root
              head = os.path.dirname(path)
              save_dir = TempDirectory(kind='uninstall')
              save_dir.create()
              self._save_dirs[head] = save_dir
  
          relpath = os.path.relpath(path, head)
          if relpath and relpath != os.path.curdir:
              return os.path.join(save_dir.path, relpath)
          return save_dir.path
docs: Stashes a file.
  
          If no root has been provided, one will be created for the directory
          in the user's temp directory.