default Future<Void> cloneSnapshotAsync(String snapshotName, TableName tableName)
    throws IOException, TableExistsException {
    return cloneSnapshotAsync(snapshotName, tableName, false);
  }
Create a new table by cloning the snapshot content, but does not block and wait for it to be
completely cloned. You can use Future.get(long, TimeUnit) to wait on the operation to complete.
It may throw ExecutionException if there was an error while executing the operation or
TimeoutException in case the wait timeout was not long enough to allow the operation to
complete.
@param snapshotName name of the snapshot to be cloned
@param tableName    name of the table where the snapshot will be restored
@throws IOException          if a remote or network exception occurs
@throws TableExistsException if table to be cloned already exists
@return the result of the async clone snapshot. You can use Future.get(long, TimeUnit) to wait
        on the operation to complete.
hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java