static RVVException createException(DataInput in) throws IOException {
    long previousVersion = InternalDataSerializer.readUnsignedVL(in);
    int size = (int) InternalDataSerializer.readUnsignedVL(in);
    long last = previousVersion;
    long[] versions = new long[(int) size];
    for (int i = 0; i < size; i++) {
      long delta = InternalDataSerializer.readUnsignedVL(in);
      long value = delta + last;
      versions[i] = value;
      last = value;
    }
    long delta = InternalDataSerializer.readUnsignedVL(in);
    long nextVersion = last + delta;
    RVVException result = createException(previousVersion, nextVersion, size);

    for (int i = 0; i < size; i++) {
      result.addReceived(versions[i]);
    }
    return result;
  }
RegionVersionHolder.fromData() calls this to create an exception
geode-core/src/main/java/org/apache/geode/internal/cache/versions/RVVException.java