code: def _SetPath(self, path):
      
      old_path = self._path
      if old_path and not io_wrapper.IsCloudPath(old_path):
        try:
          # We're done with the path, so store its size.
          size = tf.io.gfile.stat(old_path).length
          logger.debug('Setting latest size of %s to %d', old_path, size)
          self._finalized_sizes[old_path] = size
        except tf.errors.OpError as e:
          logger.error('Unable to get size of %s: %s', old_path, e)
  
      self._path = path
      self._loader = self._loader_factory(path)
docs: Sets the current path to watch for new events.
  
      This also records the size of the old path, if any. If the size can't be
      found, an error is logged.
  
      Args:
        path: The full path of the file to watch.