private synchronized String getSelection() {
		while (selection == null) {
			try {
				this.wait();
			} catch (InterruptedException e) {
				throw (new RuntimeException(e));
				//Seriously when is it ever correct to actually handle this error
			}
		}
		return selection;
		
	}