docs: static ProbabilitySampler create(double probability) {
      Utils.checkArgument(
          probability >= 0.0 && probability <= 1.0, "probability must be in range [0.0, 1.0]");
      long idUpperBound;
      // Special case the limits, to avoid any possible issues with lack of precision across
      // double/long boundaries. For probability == 0.0, we use Long.MIN_VALUE as this guarantees
      // that we will never sample a trace, even in the case where the id == Long.MIN_VALUE, since
      // Math.Abs(Long.MIN_VALUE) == Long.MIN_VALUE.
      if (probability == 0.0) {
        idUpperBound = Long.MIN_VALUE;
      } else if (probability == 1.0) {
        idUpperBound = Long.MAX_VALUE;
      } else {
        idUpperBound = (long) (probability * Long.MAX_VALUE);
      }
      return new AutoValue_ProbabilitySampler(probability, idUpperBound);
    }