### Question:
BigtableTableAdminGCJClient implements IBigtableTableAdminClient, AutoCloseable { @Override public ApiFuture<Table> createTableAsync(CreateTableRequest request) { return delegate.createTableAsync(request); } BigtableTableAdminGCJClient(
      @Nonnull BigtableTableAdminClient delegate,
      @Nonnull BaseBigtableTableAdminClient baseAdminClient); @Override Table createTable(CreateTableRequest request); @Override ApiFuture<Table> createTableAsync(CreateTableRequest request); @Override Table getTable(String tableId); @Override ApiFuture<Table> getTableAsync(String tableId); @Override List<String> listTables(); @Override ApiFuture<List<String>> listTablesAsync(); @Override void deleteTable(String tableId); @Override ApiFuture<Void> deleteTableAsync(String tableId); @Override Table modifyFamilies(ModifyColumnFamiliesRequest request); @Override ApiFuture<Table> modifyFamiliesAsync(ModifyColumnFamiliesRequest request); @Override void dropRowRange(String tableId, String rowKeyPrefix); @Override void dropRowRange(String tableId, ByteString rowKeyPrefix); @Override ApiFuture<Void> dropRowRangeAsync(String tableId, String rowKeyPrefix); @Override ApiFuture<Void> dropRowRangeAsync(String tableId, ByteString rowKeyPrefix); @Override void dropAllRows(String tableId); @Override ApiFuture<Void> dropAllRowsAsync(String tableId); @Override ApiFuture<Operation> snapshotTableAsync(SnapshotTableRequest request); @Override ApiFuture<Snapshot> getSnapshotAsync(GetSnapshotRequest request); @Override ApiFuture<ListSnapshotsResponse> listSnapshotsAsync(ListSnapshotsRequest request); @Override ApiFuture<Void> deleteSnapshotAsync(DeleteSnapshotRequest request); @Override ApiFuture<Operation> createTableFromSnapshotAsync(CreateTableFromSnapshotRequest request); @Override void close();  }### Answer:
@Test public void testCreateTableAsync() throws Exception { CreateTableRequest req = CreateTableRequest.of(TABLE_ID); Future<Table> response = adminGCJClient.createTableAsync(req); assertEquals(TABLE_ID, response.get().getId()); }