@Override
 public Object prepareValueForCache(
     RegionEntryContext r,
     Object val,
     boolean isEntryUpdate,
     boolean valHasMetadataForGfxdOffHeapUpdate) {
   if (okToStoreOffHeap(val) && OffHeapRegionEntryUtils.isValidValueForGfxdOffHeapStorage(val)) {
     // TODO:Asif:Check if this is a valid supposition
     // final long address = this.getAddress();
     if (isEntryUpdate
     /*
      * (address == OffHeapRegionEntryHelper.REMOVED_PHASE1_ADDRESS || address
      * == OffHeapRegionEntryHelper.NULL_ADDRESS) || r instanceof
      * PlaceHolderDiskRegion
      */
     ) {
       return OffHeapRegionEntryUtils.prepareValueForUpdate(
           this, r, val, valHasMetadataForGfxdOffHeapUpdate);
     } else {
       return OffHeapRegionEntryUtils.prepareValueForCreate(r, val, false);
     }
   }
   return super.prepareValueForCache(r, val, isEntryUpdate, valHasMetadataForGfxdOffHeapUpdate);
 }