private int readToBuffer() throws IOException {

		int position = 0;
		int charactersRead = 0;

		while ((position < BUFFER_SIZE) && (!this.complete) && ((charactersRead = this.reader.read(this.buffer, position, 1)) != -1)) {
			if ((Character.getType(this.buffer[position]) == Character.OTHER_PUNCTUATION) && (position > 0)) {
				return position + 1;
			}
			position++;
		}

		if (charactersRead == -1) {
			this.complete = true;
		}

		if (this.complete && position == 0) {
			return -1;
		}

		return position;

	}