@Override
	public final void run() {
		do {
			int read;
			try {
				read = this.stream.read();
			} catch (final IOException e) {
				e.printStackTrace();
				return;
			}
			if (read < 0) {
				return;
			}
			this.builder.append((char) read);
			if (read == '\n') {
				action();
				this.builder.setLength(0);
			}
		} while (true);
	}