public static MultiPolygon readMultiPolygon(ByteReader reader,
			boolean hasZ, boolean hasM) {
    """
	Read a Multi Polygon
	
	@param reader
	@param hasZ
	@param hasM
	@return multi polygon
    """

		MultiPolygon multiPolygon = new MultiPolygon(hasZ, hasM);

		int numPolygons = reader.readInt();

		for (int i = 0; i < numPolygons; i++) {
			Polygon polygon = readGeometry(reader, Polygon.class);
			multiPolygon.addPolygon(polygon);

		}

		return multiPolygon;
	}
public static MultiPolygon readMultiPolygon(ByteReader reader,
			boolean hasZ, boolean hasM) {

		MultiPolygon multiPolygon = new MultiPolygon(hasZ, hasM);

		int numPolygons = reader.readInt();

		for (int i = 0; i < numPolygons; i++) {
			Polygon polygon = readGeometry(reader, Polygon.class);
			multiPolygon.addPolygon(polygon);

		}

		return multiPolygon;
	}
public static MultiPolygon readMultiPolygon ( ByteReader reader , boolean hasZ , boolean hasM ) { MultiPolygon multiPolygon = new MultiPolygon ( hasZ , hasM ) ; int numPolygons = reader . readInt ( ) ; for ( int i = 0 ; i < numPolygons ; i ++ ) { Polygon polygon = readGeometry ( reader , Polygon . class ) ; multiPolygon . addPolygon ( polygon ) ; } return multiPolygon ; }
Read a Multi Polygon

@param reader
@param hasZ
@param hasM
@return multi polygon
Read a Multi Polygon