private void fetchData() throws IOException {
		if (!eos) {
			// copy 4096 bytes from compressed stream to syncState.
			int index = syncState.buffer(4096);
			if (index < 0) {
				eos = true;
				return;
			}
			int bytes = in.read(syncState.data, index, 4096);
			syncState.wrote(bytes); 
			if (bytes == 0) {
				eos = true;
			}
		}
	}