void init() throws IOException {
		if(!initialized) {
			char c1 = (char) super.read();
			char c2 = (char) super.read();
			char c3 = (char) super.read();
			int v = super.read();
			if(c1 != 'S' || c2 != 'N' || c3 != 'Z') {
				throw new FormatViolationException("Illegal prefix in SNZ stream");
			}
			if(v != 1) {
				throw new FormatViolationException("Illegal SNZ version: " + v + " (only 1 is supported)", 1);
			}
			blockSize = 1 << super.read();
		}
		initialized = true;
	}