docs: public static double getUpperBound(final long numSamples, final double theta, final int numSDev,
        final boolean noDataSeen) {
      //in earlier code numSamples was called numSamplesI
      if (noDataSeen) { return 0.0; }
      checkArgs(numSamples, theta, numSDev);
      final double ub = computeApproxBinoUB(numSamples, theta, numSDev);
      final double numSamplesF = numSamples;
      final double est = numSamplesF / theta;
      return (Math.max(est, ub));
    }