public void run() {
		String inputLine = null;
		while (!halted) {
			try {
				inputLine = in.readLine();
				if (inputLine == null) {
					if (DEBUG) {
						System.out.println("No input, closing");
					}
					halt();
				} else {
					if (DEBUG) {
						System.out.println(inputLine);
					}
					Console.processIncoming(inputLine);
					if (!inputLine.startsWith(Console.GET_PROF_PREFIX)) {
						halt();
					}
				}
			} catch (IOException e) {
				if (DEBUG) {
					System.out.println("IOException reading input "
							+ e.toString());
				}
				if (!halted) {
					halt();
				}
			}

		}
		close(); // Close after halt
		if (DEBUG) {
			System.out.println("Closed after exiting while loop");
		}
	}