private void processURL(String url) throws IOException {

		System.out.println(URLList.size());

		Map<String, Elements> teacherElements = new HashMap<String, Elements>();

		Document documentObject = Jsoup.connect(url).get();

		if (nameQuery != null) {
			Elements nameElement = documentObject.select(nameQuery);
			teacherElements.put(WebCrawlerListener.NAME_ID, nameElement);
		}

		if (specialityQuery != null) {
			Elements specialtyElement = documentObject.select(specialityQuery);
			teacherElements.put(WebCrawlerListener.SPECIALITY_ID,
					specialtyElement);
		}

		if (emailQuery != null) {
			Elements emailElement = documentObject.select(emailQuery);
			teacherElements.put(WebCrawlerListener.EMAIL_ID, emailElement);
		}

		if (cityQuery != null) {
			Elements cityElement = documentObject.select(cityQuery);
			teacherElements.put(WebCrawlerListener.CITY_ID, cityElement);
		}

		List<Teacher> teacherlst = webCrawlerListener.postProcessing(teacherElements);
		if (teacherlst != null) {
			for(Teacher tcr : teacherlst){
				if (!teacherList.contains(tcr)) {
					teacherList.add(tcr);
				}
			}
		}

		Elements linksElements = documentObject.select("a[href]");
		for (Element link : linksElements) {
			addURL(link.attr("abs:href"));
		}
	}