docs: def add(self, paths, **params):
          """
          Add a path (or list of paths) to the list of paths being
          watched.  The 'missing' setting for a file can also be
          changed by re-adding the file.
      """
          log = self._getparam('log', self._discard, **params)
          missing = self._getparam('missing', True, **params)
          commit = self._getparam('commit', True, **params)
  
          if type(paths) is not list:
              paths = [paths]
  
          rebuild = False
          for path in paths:
              if path in self.paths:
                  if self.paths[path] == missing:
                      log.info("Ignoring attempt to add existing path %r", path)
                  else:
                      log.debug("Changing missing state from %s to %s on existing path %r",
                              str(self.paths[path]), str(missing), path)
                      self.paths[path] = missing
              else:
                  log.debug("Adding path %r", path)
                  self.paths[path] = missing
                  rebuild = True
          if commit and rebuild:
              self.commit(**params)