private void update (int length) {
		buffer.delete(0, pointer);
		pointer = 0;
		while (buffer.length() < length) {
			String rawData = "";
			if (!eof) {
				char[] data = new char[1024];
				int converted = -2;
				try {
					converted = reader.read(data);
				} catch (IOException ioe) {
					throw new TokenizerException("Error reading from stream.", ioe);
				}
				if (converted == -1)
					eof = true;
				else
					rawData = String.valueOf(data, 0, converted);
			}
			buffer.append(rawData);
			if (eof) {
				buffer.append('\0');
				break;
			}
		}
	}