public static @Unretained Object deserializeOffHeapBlob(StoredObject blob)
      throws IOException, ClassNotFoundException {
    Object result;
    final long start = startDeserialization();
    // For both top level and nested pdxs we just want a reference to this off-heap blob.
    // No copies.
    // For non-pdx we want a stream that will read directly from the chunk.
    try (PdxInputStream is = new PdxInputStream(blob)) {
      result = DataSerializer.readObject(is);
    }
    endDeserialization(start, blob.getDataSize());
    return result;
  }
A blob is a serialized Object. This method returns the deserialized object. If a PdxInstance is
returned then it will refer to Chunk's off-heap memory with an unretained reference.
geode-core/src/main/java/org/apache/geode/internal/util/BlobHelper.java