public ArrayList<Artist> list(String artistName) throws URISyntaxException{
		log.trace("Retrieving artists list");
		String name;
		String id;
		JsonElement artistsAsJson = null;
		ArrayList<Artist>  artists = new ArrayList<Artist>();
		JsonObject response = new JsonObject();
		
		if(currentArtist == null || !currentArtist.getName().equals(artistName)){
			currentArtist = new Artist();
			currentArtist.setName(artistName);
			setPage(1);
		}
		
		search(artistName);
		
		if(!checkResponse()){
			return artists;
		}
		
		response = getJsonResponse();
		artistsAsJson = response.getAsJsonObject("resultsPage").getAsJsonObject("results").getAsJsonArray("artist");
		
		if(response.getAsJsonObject("resultsPage").get("totalEntries").getAsInt() > response.getAsJsonObject("resultsPage").get("perPage").getAsInt())
			setPages(response.getAsJsonObject("resultsPage").get("totalEntries").getAsInt() / response.getAsJsonObject("resultsPage").get("perPage").getAsInt());
		else
			setPages(1);
		
		for(JsonElement artist : artistsAsJson.getAsJsonArray() ){
			name = artist.getAsJsonObject().get("displayName").getAsString();
			id = artist.getAsJsonObject().get("id").getAsString();
			
			log.debug(gson.toJson(name));
			log.debug(gson.toJson(id));
			
			artists.add(new Artist(	name, id));
		}
		
		clearQuery();
		
		log.trace("Successfully retrieved artists");
		return artists;
	}