@Override
	public void run() {
		try {
			final byte[] bytes = new byte[this.stream.available()];
			if (bytes.length == 0) {
				return;
			}
			int read = this.stream.read(bytes);
			while (read < bytes.length) {
				read += this.stream.read(bytes, read, bytes.length - read);
			}

			this.result = this.sc.parse(bytes);
		} catch (final IOException e) {
			// Silently disregard thrown exception
		} finally {
			try {
				this.stream.close();
			} catch (final IOException e) {
				e.printStackTrace();
			}
		}
	}