public static Builder newBuilder() {
    return new Builder();
  }
@Test
  public void argumentValidation_withSampleUpdateFrequency_lteqSamplePeriod() {
    RpcQosOptions.newBuilder()
        .withSamplePeriod(Duration.millis(5))
        .withSamplePeriodBucketSize(Duration.millis(5))
        .validateRelatedFields();
    try {
      RpcQosOptions.newBuilder()
          .withSamplePeriod(Duration.millis(5))
          .withSamplePeriodBucketSize(Duration.millis(6))
          .validateRelatedFields();
      fail("expected validation failure for samplePeriodBucketSize > samplePeriod");
    } catch (IllegalArgumentException e) {
      assertTrue(e.getMessage().contains("samplePeriodBucketSize <= samplePeriod"));
    }
  }