@Override
  public Object getDeserializedWritableCopy(Region r, RegionEntry re) {
    Object v = value;
    if (v instanceof byte[]) {
      Object result = EntryEventImpl.deserialize((byte[]) v);
      if (CopyHelper.isWellKnownImmutableInstance(result) && !(result instanceof PdxInstance)) {
        // Since it is immutable go ahead and change the form
        // since we can return the immutable instance each time.
        result = getDeserializedValue(r, re);
      }
      return result;
    } else {
      return CopyHelper.copy(v);
    }
  }
Create a new instance with an object and it's size. Note the caller decides if objectSize is
the memory size or the serialized size.
geode-core/src/main/java/org/apache/geode/internal/cache/VMCachedDeserializable.java