code: @Override
    public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {
      // wraps exceptions in a CF (CompletableFuture). No null check here on desc to match Hbase impl
      if (desc.getTableName() == null) {
        return failedFuture(new IllegalArgumentException("TableName cannot be null"));
      }
  
      CreateTableRequest request = TableAdapter2x.adapt(desc, splitKeys);
      return toCompletableFuture(bigtableTableAdminClient.createTableAsync(request))
          .handle((resp, ex) -> {
            if (ex != null) {
              throw new CompletionException(
                  AbstractBigtableAdmin.convertToTableExistsException(desc.getTableName(), ex));
            }
            return null;
          });
    }
docs: {@inheritDoc}