docs: public static Point along(@NonNull LineString line, @FloatRange(from = 0) double distance,
                              @NonNull @TurfConstants.TurfUnitCriteria String units) {
      List<Point> coords = line.coordinates();
  
      double travelled = 0;
      for (int i = 0; i < coords.size(); i++) {
        if (distance >= travelled && i == coords.size() - 1) {
          break;
        } else if (travelled >= distance) {
          double overshot = distance - travelled;
          if (overshot == 0) {
            return coords.get(i);
          } else {
            double direction = bearing(coords.get(i), coords.get(i - 1)) - 180;
            return destination(coords.get(i), overshot, direction, units);
          }
        } else {
          travelled += distance(coords.get(i), coords.get(i + 1), units);
        }
      }
  
      return coords.get(coords.size() - 1);
    }