private String restoreStoreFile(final Path familyDir, final RegionInfo regionInfo,
    final SnapshotRegionManifest.StoreFile storeFile, final boolean createBackRef,
    final StoreFileTracker tracker) throws IOException {
    String hfileName = storeFile.getName();
    if (HFileLink.isHFileLink(hfileName)) {
      return tracker.createFromHFileLink(hfileName, createBackRef);
    } else if (StoreFileInfo.isReference(hfileName)) {
      return restoreReferenceFile(familyDir, regionInfo, storeFile, tracker);
    } else {
      return tracker.createHFileLink(regionInfo.getTable(), regionInfo.getEncodedName(), hfileName,
        createBackRef);
    }
  }
Create a new {@link HFileLink} to reference the store file.
<p>
The store file in the snapshot can be a simple hfile, an HFileLink or a reference.
<ul>
<li>hfile: abc -> table=region-abc
<li>reference: abc.1234 -> table=region-abc.1234
<li>hfilelink: table=region-hfile -> table=region-hfile
</ul>
@param familyDir     destination directory for the store file
@param regionInfo    destination region info for the table
@param createBackRef - Whether back reference should be created. Defaults to true.
@param storeFile     store file name (can be a Reference, HFileLink or simple HFile)
hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.java