docs: public Polygon getHull() {
      if(hull == null) {
        run(true);
      }
      DoubleMinMax minmaxX = new DoubleMinMax();
      DoubleMinMax minmaxY = new DoubleMinMax();
      List<double[]> hullp = new ArrayList<>(hull.size());
      for(IntIntPair pair : hull) {
        double[] v = points.get(pair.first);
        hullp.add(v);
        minmaxX.put(v[0]);
        minmaxY.put(v[1]);
      }
      return new Polygon(hullp, minmaxX.getMin(), minmaxX.getMax(), minmaxY.getMin(), minmaxY.getMax());
    }