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.

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)