code: @BetaApi(
        "The surface for long-running operations is not stable yet and may change in the future.")
    public final OperationFuture<Table, CreateTableFromSnapshotMetadata> createTableFromSnapshotAsync(
        CreateTableFromSnapshotRequest request) {
      return createTableFromSnapshotOperationCallable().futureCall(request);
    }
docs: Creates a new table from the specified snapshot. The target table must not exist. The snapshot
  and the table must be in the same instance.
  
  <p>Note: This is a private alpha release of Cloud Bigtable snapshots. This feature is not
  currently available to most Cloud Bigtable customers. This feature might be changed in
  backward-incompatible ways and is not recommended for production use. It is not subject to any
  SLA or deprecation policy.
  
  <p>Sample code:
  
  <pre><code>
  try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) {
  InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
  String tableId = "";
  SnapshotName sourceSnapshot = SnapshotName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]", "[SNAPSHOT]");
  CreateTableFromSnapshotRequest request = CreateTableFromSnapshotRequest.newBuilder()
  .setParent(parent.toString())
  .setTableId(tableId)
  .setSourceSnapshot(sourceSnapshot.toString())
  .build();
  Table response = baseBigtableTableAdminClient.createTableFromSnapshotAsync(request).get();
  }
  </code></pre>
  
  @param request The request object containing all of the parameters for the API call.
  @throws com.google.api.gax.rpc.ApiException if the remote call fails