### Question:
Shapefile { public Rect mbr() { load(); Rect r = null; for (PreparedGeometry g : geometries) { Coordinate[] v = g.getGeometry().getEnvelope().getCoordinates(); System.out.println(Arrays.toString(v)); Rect rect = new Rect(v[0].y, v[0].x, v[2].y, v[2].x); if (r == null) r = rect; else r = r.add(rect); } return r; } private  Shapefile(File file, double bufferDistance); static Shapefile from(File file); static Shapefile from(File file, double bufferDistance); static void createPolygon(List<Coordinate> coords, File output); static Shapefile fromZip(InputStream is); static DataStore fromZipAsDataStore(InputStream is); static Shapefile fromZip(InputStream is, double bufferDistance); List<PreparedGeometry> geometries(); boolean contains(double lat, double lon); Rect mbr(); void close(); void writeGeoJson(Writer writer, String targetCrsName);  }### Answer:
@Test public void testMbr() throws IOException { Shapefile shape = Shapefile .fromZip(Shapefile.class.getResourceAsStream("/shapefile-srr-polygon.zip")); System.out.println(shape.mbr()); }