code: @Override
    public ApiFuture<List<String>> listTablesAsync() {
      ListTablesRequest request = ListTablesRequest.newBuilder()
          .setParent(instanceName.toString())
          .build();
      ListenableFuture<ListTablesResponse> response = delegate.listTablesAsync(request);
  
      return ApiFutureUtil.transformAndAdapt(response, new Function<ListTablesResponse, List<String>>() {
        @Override
        public List<String> apply(ListTablesResponse input) {
          ImmutableList.Builder<String> tableIdsBuilder = ImmutableList.builder();
          for(com.google.bigtable.admin.v2.Table tableProto : input.getTablesList()){
            tableIdsBuilder.add(instanceName.toTableId(tableProto.getName()));
          }
  
          return tableIdsBuilder.build();
        }
      });
    }
docs: {@inheritDoc}