private List<Path> getFilesRecursively(String fileBackupDir)
    throws IllegalArgumentException, IOException {
    FileSystem fs = FileSystem.get(new Path(fileBackupDir).toUri(), new Configuration());
    List<Path> list = new ArrayList<>();
    RemoteIterator<LocatedFileStatus> it = fs.listFiles(new Path(fileBackupDir), true);
    while (it.hasNext()) {
      Path p = it.next().getPath();
      if (HFile.isHFileFormat(fs, p)) {
        list.add(p);
      }
    }
    return list;
  }
Restore operation handle each backupImage in array.
@param images           array BackupImage
@param sTable           table to be restored
@param tTable           table to be restored to
@param truncateIfExists truncate table
@throws IOException exception
hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/RestoreTablesClient.java