@Override
  public void read(DataInput stream) throws IOException {
    super.read(stream);
    long signature = mySignature.getValue();
    if (signature != MAGIC) {
      throw new IllegalStateException(String.format("Incorrect signature; expected %#010x, found %#010x", MAGIC, signature));
    }
  }
@Override
  public void read(DataInput stream)