docs: static Point calculateCenterOfBoundingBox(Point[] coordinates) {
          double pointXMin = coordinates[0].x;
          double pointXMax = coordinates[0].x;
          double pointYMin = coordinates[0].y;
          double pointYMax = coordinates[0].y;
  
          for (Point immutablePoint : coordinates) {
              if (immutablePoint.x < pointXMin) {
                  pointXMin = immutablePoint.x;
              } else if (immutablePoint.x > pointXMax) {
                  pointXMax = immutablePoint.x;
              }
  
              if (immutablePoint.y < pointYMin) {
                  pointYMin = immutablePoint.y;
              } else if (immutablePoint.y > pointYMax) {
                  pointYMax = immutablePoint.y;
              }
          }
  
          return new Point((pointXMin + pointXMax) / 2, (pointYMax + pointYMin) / 2);
      }