code: def path(self, **kwargs):
          
          new_path = path(self.getPath(), **kwargs)
          return File(new_path)
docs: Returns a different object with the specified changes applied to
          it. This object is not changed in the process.