code: def change_directory(self, path, *args, **kwargs):
  		
  		client = self.dav_client()
  		previous_path = self.session_path()
  		try:
  			if client.is_dir(self.session_path(path)) is False:
  				raise ValueError('Unable to change current working directory to non-directory entry')
  		except Exception:
  			self.session_path(previous_path)
  			raise
docs: :meth:`.WNetworkClientProto.change_directory` method implementation