public void reset() throws IOException {
		if (this.bytesReadPastMark <= this.bufferSize) {
			log.debug("Reset after reading " + this.bytesReadPastMark + " bytes.");
			this.bufferOffset = 0;
		} else {
			throw new IOException("Input stream cannot be reset as " + this.bytesReadPastMark + " bytes have been written, exceeding the available buffer size of " + this.bufferSize);
		}
	}