@Override
  public void writeReceived(DataOutput out) throws IOException {

    int size = received == null ? 0 : received.size();
    InternalDataSerializer.writeUnsignedVL(size, out);

    // Write each version in the exception as a delta from the previous version
    // this will likely be smaller than the absolute value, so it will
    // be more likely to fit into a byte or a short.
    long last = previousVersion;
    if (received != null) {
      for (Long version : received) {
        long delta = version - last;
        InternalDataSerializer.writeUnsignedVL(delta, out);
        last = version;
      }
    }
    long delta = nextVersion - last;
    InternalDataSerializer.writeUnsignedVL(delta, out);
  }
checks to see if any of the received versions can be merged into the start/end version numbers
geode-core/src/main/java/org/apache/geode/internal/cache/versions/RVVExceptionT.java