"ensureFixedContents" vs. "ValidationNotEqualError" because of different exceptions.
For unrelated reasons I've recently upgraded KS compiler+runtime and my formerly working parser is failing now at various places. One of the reasons is that the generated code for `contents` has changed. The following KSY:

    # par_oms_dll_command:
    seq:
      - id:       check_value
        contents: [0x44]

Resulted in the following Java in the past:

    this.checkValue = this._io.ensureFixedContents(new byte[] { 68 });

But is now resulting in the following:

            this.checkValue = this._io.readBytes(1);
            if (!(Arrays.equals(checkValue(), new byte[] { 68 }))) {
                throw new KaitaiStream.ValidationNotEqualError(new byte[] { 68 }, checkValue(), _io(), "/seq/0");
            }

While I don't care for how things are checked in the end, I DO care about the exceptions thrown. That has been `UnexpectedDataError` in the past instead of the new one and I have code relying on that. When that exception is thrown, I need to do different things in Java and that fails now of course. I would have preferred that this kind of change would trigger a compile time error instead of on runtime.

While `ensureFixedContents` is still available in the compiler, is it used at all anymore? If not, an easy way to prevent problems like mine would have been to remove `UnexpectedDataError` and the calling method at all. Remember that my use of `contents` has been rewritten to the new validations already, so I don't see how one could trigger the old behaviour at all anymore.