public BucketEntry getBlockForReference(BlockCacheKey key) {
    BucketEntry foundEntry = null;
    String referredFileName = null;
    if (StoreFileInfo.isReference(key.getHfileName())) {
      referredFileName = StoreFileInfo.getReferredToRegionAndFile(key.getHfileName()).getSecond();
    }
    if (referredFileName != null) {
      BlockCacheKey convertedCacheKey = new BlockCacheKey(referredFileName, key.getOffset());
      foundEntry = backingMap.get(convertedCacheKey);
      LOG.debug("Got a link/ref: {}. Related cacheKey: {}. Found entry: {}", key.getHfileName(),
        convertedCacheKey, foundEntry);
    }
    return foundEntry;
  }
If the passed cache key relates to a reference (&lt;hfile&gt;.&lt;parentEncRegion&gt;), this
method looks for the block from the referred file, in the cache. If present in the cache, the
block for the referred file is returned, otherwise, this method returns null. It will also
return null if the passed cache key doesn't relate to a reference.
@param key the BlockCacheKey instance to look for in the cache.
@return the cached block from the referred file, null if there's no such block in the cache or
        the passed key doesn't relate to a reference.
hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java