private void waitForBuckets(String regionName, Set<Integer> expectedBucketIds) {
    PartitionedRegion region = (PartitionedRegion) getCache().getRegion(regionName);

    await().untilAsserted(() -> {
      Set<Integer> allLocalBucketIds = new TreeSet<>(region.getDataStore().getAllLocalBucketIds());
      assertThat(allLocalBucketIds).isEqualTo(expectedBucketIds);
    });
  }
The colocation tree has the regions started in a specific order so that the logging is
predictable. For each entry in the list, the array values are:

<pre>
  [0] - the region name
  [1] - the name of that region's parent
  [2] - the number of warnings that will be logged after the region is created (1 warning for
        each region in the tree that exists that still has 1 or more missing children.)
</pre>
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentColocatedPartitionedRegionDistributedTest.java