docs: public static void updateNumberOfBigtableNodes(
        final BigtableOptions bigtableOptions,
        final int numberOfNodes,
        final Duration sleepDuration
    ) throws IOException, InterruptedException {
      final ChannelPool channelPool =
          ChannelPoolCreator.createPool(bigtableOptions.getAdminHost());
  
      try {
        final BigtableInstanceClient bigtableInstanceClient = new BigtableInstanceGrpcClient(channelPool);
  
        final String instanceName = bigtableOptions.getInstanceName().toString();
  
        // Fetch clusters in Bigtable instance
        final ListClustersRequest clustersRequest =
            ListClustersRequest.newBuilder().setParent(instanceName).build();
        final ListClustersResponse clustersResponse =
            bigtableInstanceClient.listCluster(clustersRequest);
  
        // For each cluster update the number of nodes
        for (Cluster cluster : clustersResponse.getClustersList()) {
          final Cluster updatedCluster = Cluster.newBuilder()
              .setName(cluster.getName())
              .setServeNodes(numberOfNodes)
              .build();
          LOG.info("Updating number of nodes to {} for cluster {}", numberOfNodes, cluster.getName());
          bigtableInstanceClient.updateCluster(updatedCluster);
        }
  
        // Wait for the new nodes to be provisioned
        if (sleepDuration.getMillis() > 0) {
          LOG.info("Sleeping for {} after update", formatter.print(sleepDuration.toPeriod()));
          Thread.sleep(sleepDuration.getMillis());
        }
      } finally {
        channelPool.shutdownNow();
      }
    }