@Override
        public void storeFile(final RegionInfo regionInfo, final String family,
          final SnapshotRegionManifest.StoreFile storeFile) throws IOException {
          if (!storeFile.hasReference()) {
            HFileLink link = HFileLink.build(conf, snapshot.getTableName(),
              regionInfo.getEncodedName(), family, storeFile.getName());
            long size;
            Integer count;
            Path p;
            AtomicLong al;
            int c = 0;

            if (fs.exists(link.getArchivePath())) {
              p = link.getArchivePath();
              al = uniqueHFilesArchiveSize;
              size = fs.getFileStatus(p).getLen();
            } else if (fs.exists(link.getMobPath())) {
              p = link.getMobPath();
              al = uniqueHFilesMobSize;
              size = fs.getFileStatus(p).getLen();
            } else {
              p = link.getOriginPath();
              al = uniqueHFilesSize;
              size = link.getFileStatus(fs).getLen();
            }

            // If it has been counted, do not double count
            count = filesMap.get(p);
            if (count != null) {
              c = count.intValue();
            } else {
              al.addAndGet(size);
            }

            filesMap.put(p, ++c);
          }
        }
Gets the store files map for snapshot
@param conf                    the {@link Configuration} to use
@param snapshot                {@link SnapshotDescription} to get stats from
@param exec                    the {@link ExecutorService} to use
@param filesMap                {@link Map} the map to put the mapping entries
@param uniqueHFilesArchiveSize {@link AtomicLong} the accumulated store file size in archive
@param uniqueHFilesSize        {@link AtomicLong} the accumulated store file size shared
@param uniqueHFilesMobSize     {@link AtomicLong} the accumulated mob store file size shared
hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotInfo.java