static int determineCoordinatorReservoirSize(int numPartitions) {
    int reservoirSize = numPartitions * COORDINATOR_TARGET_PARTITIONS_MULTIPLIER;

    if (reservoirSize < COORDINATOR_MIN_RESERVOIR_SIZE) {
      // adjust it up and still make reservoirSize divisible by numPartitions
      int remainder = COORDINATOR_MIN_RESERVOIR_SIZE % numPartitions;
      reservoirSize = COORDINATOR_MIN_RESERVOIR_SIZE + (numPartitions - remainder);
    } else if (reservoirSize > COORDINATOR_MAX_RESERVOIR_SIZE) {
      // adjust it down and still make reservoirSize divisible by numPartitions
      int remainder = COORDINATOR_MAX_RESERVOIR_SIZE % numPartitions;
      reservoirSize = COORDINATOR_MAX_RESERVOIR_SIZE - remainder;
    }

    return reservoirSize;
  }
@Test
  public void testCoordinatorReservoirSize() {
    // adjusted to over min threshold of 10_000 and is divisible by number of partitions (3)
    assertThat(SketchUtil.determineCoordinatorReservoirSize(3)).isEqualTo(10_002);
    // adjust to multiplier of 100
    assertThat(SketchUtil.determineCoordinatorReservoirSize(123)).isEqualTo(123_00);
    // adjusted to below max threshold of 1_000_000 and is divisible by number of partitions (3)
    assertThat(SketchUtil.determineCoordinatorReservoirSize(10_123))
        .isEqualTo(1_000_000 - (1_000_000 % 10_123));
  }