default void restoreSnapshot(String snapshotName, boolean takeFailSafeSnapshot)
    throws IOException, RestoreSnapshotException {
    restoreSnapshot(snapshotName, takeFailSafeSnapshot, false);
  }
Restore the specified snapshot on the original table. (The table must be disabled) If
'takeFailSafeSnapshot' is set to <code>true</code>, a snapshot of the current table is taken
before executing the restore operation. In case of restore failure, the failsafe snapshot will
be restored. If the restore completes without problem the failsafe snapshot is deleted. The
failsafe snapshot name is configurable by using the property
"hbase.snapshot.restore.failsafe.name".
@param snapshotName         name of the snapshot to restore
@param takeFailSafeSnapshot <code>true</code> if the failsafe snapshot should be taken
@throws IOException              if a remote or network exception occurs
@throws RestoreSnapshotException if snapshot failed to be restored
@throws IllegalArgumentException if the restore request is formatted incorrectly
hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java