:meth:`.WNetworkClientProto.change_directory` method implementation

def change_directory(self, path, *args, **kwargs):
		""" :meth:`.WNetworkClientProto.change_directory` method implementation
		"""
		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