What's the use case of implementing your own BigtableChanelPrimer?

If you want to set up channel priming, you could do so with BigtableDataSettings:

BigtableDataSettings settings = BigtableDataSettings.newBuilder()
BigtableDataSettings.setProjectId(bigtable_project_id)
    .setInstanceId(bigtable_instance_id)
    .setPrimingTableIds(tableIds)
    .setRefreshingChannel(true);

BigtableDataClient client = BigtableDataClient.create(settings.build());

You can find the documentation here: https://javadoc.io/doc/com.google.cloud/google-cloud-bigtable/latest/com/google/cloud/bigtable/data/v2/BigtableDataSettings.Builder.html under setRefreshingChannel and setPrimingTableIds.