public VMLocalRowLocationThinDiskRegionEntryOffHeap(
     RegionEntryContext context, Object key, @Retained Object value) {
   super(context, (value instanceof RecoveredEntry ? null : value));
   // DO NOT modify this class. It was generated from LeafRegionEntry.cpp
   initialize(context, value);
   this.tableInfo = RegionEntryUtils.entryGetTableInfo(context, key, value);
   this.key = RegionEntryUtils.entryGetRegionKey(key, value);
 }
 @Override
 protected StringBuilder appendFieldsToString(final StringBuilder sb) {
   sb.append("key=");
   // OFFHEAP _getValue ok: the current toString on OffHeapCachedDeserializable
   // is safe to use without incing refcount.
   final Object k = getKeyCopy();
   final Object val = OffHeapRegionEntryUtils.getHeapRowForInVMValue(this);
   RegionEntryUtils.entryKeyString(k, val, getTableInfo(null), sb);
   sb.append("; byte source = " + this._getValue());
   sb.append("; rawValue=");
   ArrayUtils.objectStringNonRecursive(val, sb);
   sb.append("; lockState=0x").append(Integer.toHexString(getState()));
   return sb;
 }
 @Override
 public ExecRow getRowWithoutFaultIn(GemFireContainer baseContainer) {
   return RegionEntryUtils.getRowWithoutFaultIn(
       baseContainer, baseContainer.getRegion(), this, this.tableInfo);
 }
 @Override
 public Object getValueWithoutFaultIn(GemFireContainer baseContainer) {
   return RegionEntryUtils.getValueWithoutFaultIn(baseContainer.getRegion(), this);
 }