docs: public static final BucketBoundaries create(List<Double> bucketBoundaries) {
      Utils.checkNotNull(bucketBoundaries, "bucketBoundaries");
      List<Double> bucketBoundariesCopy = new ArrayList<Double>(bucketBoundaries); // Deep copy.
      // Check if sorted.
      if (bucketBoundariesCopy.size() > 1) {
        double previous = bucketBoundariesCopy.get(0);
        for (int i = 1; i < bucketBoundariesCopy.size(); i++) {
          double next = bucketBoundariesCopy.get(i);
          Utils.checkArgument(previous < next, "Bucket boundaries not sorted.");
          previous = next;
        }
      }
      return new AutoValue_BucketBoundaries(
          Collections.unmodifiableList(dropNegativeBucketBounds(bucketBoundariesCopy)));
    }