public final String getArtistBiography(String url) 
			throws ArtistBiographyException {
		
		if(url.contains("en.wikipedia") == false)
			throw new ArtistBiographyException("The expected url is not the english version of wikipedia web site");
		
		//gets all info from wikipedia website
		String bio= "[From en.wikipedia] ";
		Document doc= null;
		Elements paragraphs= null;
		Element lastParagraph= null;
		Element p= null;
		
		try {
			
			synchronized(ArtistBiography.lock) {
				Connection conn= Jsoup.connect(url);
				conn.timeout(ArtistBiography.timeOut);
				long startTime = System.nanoTime();   
				doc = conn.get();
				long estimatedTime = System.nanoTime() - startTime;
				try {
					if(estimatedTime < minTime)
						Thread.sleep(ArtistBiography.wait);
				} catch(InterruptedException e) {
					return bio;	// Do nothing, just return
				}
			}
			
			paragraphs = doc.select(".mw-content-ltr p");
			lastParagraph = paragraphs.last();
			for(int i= 0; p != lastParagraph ; ++i) {
				p= paragraphs.get(i);
				bio += p.text().replaceAll("\\[.*\\]", "") + '\n';
			}
			
			if(bio.equals("[From en.wikipedia] "))
				return null;
			
			return bio;
			
		} catch (IOException e) {
			throw new ArtistBiographyException("IOException "+e.getMessage(), e);
		} catch (Exception e) {
			throw new ArtistBiographyException("Exception "+e.getMessage(), e);
		}
	}