@Override
	public ListGamesResponse listGames(String cookie) {
		ArrayList<Pair<String,String>> requestHeaders = new ArrayList<Pair<String,String>>();
		requestHeaders.add(new Pair<String,String>(COOKIE_STR, cookie));
		ICommandResponse response = this.clientCommunicator.executeCommand(RequestType.GET, requestHeaders, "games/list", null, GameDescription[].class);
		boolean successful = response.getResponseCode() == 200;
		//return new ListGamesResponse(successful, successful ? Arrays.asList((GameDescription[])response.getResponseObject()) : null);
		List<GameDescription> games = null;
		if(successful) {
			games = new ArrayList<GameDescription>();
			GameDescription[] gamesArray = (GameDescription[])response.getResponseObject();
			for(GameDescription game : gamesArray) {
				games.add(new GameDescription(game));
			}
		}
		return new ListGamesResponse(successful, games);
	}