@Override
	public void handle() throws Exception {
		this.requestThread.httpStatus(200, "OK");
		this.requestThread.httpContentType("text/html");
		this.requestThread.httpContents();

		String dn = this.requestThread.getLocalDisplay();
		boolean meWasPrinted = false;
		String ret = "";

		Host[] hosts = MainDialog.hostMap.getHosts();

		for (Host h : hosts) {
			if (h.seemsOnline()) {
				String h_dn = h.getDisplayName();

				if ((dn.toLowerCase().compareTo(h_dn.toLowerCase()) <= 0)
						&& !meWasPrinted) {
					meWasPrinted = true;
					ret = ret + myLink();
				}

				String url = h.toURLBestMatchingThisIP(this.requestThread
						.getRemoteIP());
				String hostname = h
						.toHostnameBestMatchingThisIP(this.requestThread
								.getRemoteIP());
				ret = ret
						+ ("<a target='_top' href=\"" + url + "/\" title=\"" + hostname
								+ "\">" + h.getDisplayName() + "</a><br>");

			}
		}

		if (!meWasPrinted) {
			ret = ret + myLink();
		}

		this.requestThread.write("<div id='p300_hosts_" +  dn + "'>");
		this.requestThread.write(ret);
		this.requestThread.write("</div>");
		
		this.requestThread.flush();
		this.requestThread.close();

	}