code: private static double geometricMean(List<Double> numbers) {
      Preconditions.checkArgument(!numbers.isEmpty());
  
      double[] numberArray = new double[numbers.size()];
      for (int i = 0; i < numbers.size(); i++) {
        numberArray[i] = Math.max(numbers.get(i), EPS);
      }
  
      return GEOMETRIC_MEAN.evaluate(numberArray, 0, numberArray.length);
    }
docs: Calculate the geometric mean of a {@link List} of double numbers. Numbers smaller than {@link #EPS} will be
  treated as {@link #EPS}.