BytesAndBits getBytesAndBits(DiskRegion dr, DiskId id, boolean faultingIn) {
    acquireReadLock(dr);
    try {
      if (dr.isRegionClosed()) {
        throw new RegionDestroyedException(
            "The DiskRegion has been closed or destroyed",
            dr.getName());
      }
      if (dr.didClearCountChange()) {
        throw new DiskAccessException(
            "Entry has been cleared and is not present on disk",
            dr.getName());
      }
      BytesAndBits bb = getBytesAndBitsWithoutLock(dr, id, faultingIn, false /*
                                                                              * Get only user bit
                                                                              */);
      if (bb == CLEAR_BB) {
        throw new DiskAccessException(
            "Entry has been cleared and is not present on disk",
            dr.getName());
      }
      return bb;
    } finally {
      releaseReadLock(dr);
    }

  }
Gets the Object from the OpLog . It can be invoked from OpLog , if by the time a get operation
reaches the OpLog, the entry gets compacted or if we allow concurrent put & get operations. It
will also minimize the synch lock on DiskId

@param id DiskId object for the entry
@return value of the entry or CLEAR_BB if it is detected that the entry was removed by a
        concurrent region clear.
geode-core/src/main/java/org/apache/geode/internal/cache/DiskStoreImpl.java