public void searchFor(String text) {
		if (worker != null) {
			if (currentquery.equals(text.trim())) {
				System.out.println("I'm too lazy to do another search");
				return;
			} else {
				worker.halt();
			}
		}
		currentquery = text.trim();
		int n = results.size();
		if (n != 0) {
			results.clear();
			this.fireIntervalRemoved(this, 0, n - 1);
		}
		System.out.println("cleared.");
		if (text.trim().isEmpty())
			return;
		worker = new ResultWorkerThread(text, results, this);
		worker.start();

		DisplayUpdater displayUpdater = new DisplayUpdater(this, results,
				worker);
		// run in this (gui) thread
		displayUpdater.start();
	}