@Override
  public void read(DataInput stream) throws IOException {
    long startOffset = StreamUtil.getOffset(stream);
    super.read(stream);
    long offset = StreamUtil.getOffset(stream);
    long length = myLength.getValue();
    if (startOffset + length != offset) {
      throw new IOException(String.format("Length specified in version info header %#4x does not match actual version info length %#4x", length, (offset - startOffset)));
    }
  }
@Override
  public void read(DataInput stream)