### Question:
FilterReader { public static List<AbstractMapGeometrySupport> parse(String xmlText) { List<AbstractMapGeometrySupport> geometries; SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setNamespaceAware(true); try { SAXParser saxParser = factory.newSAXParser(); FilterHandler handler = new FilterHandler(); byte[] bytes = xmlText.getBytes(StringUtilities.DEFAULT_CHARSET); saxParser.parse(new ByteArrayInputStream(bytes), handler); geometries = handler.getGeometries(); } catch (ParserConfigurationException | SAXException | IOException e) { geometries = Collections.emptyList(); LOGGER.error(e); } return geometries; } private  FilterReader(); static List<AbstractMapGeometrySupport> parse(String xmlText);  }### Answer:
@Test public void testParse() { String xmlText = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<wfs:GetFeature xmlns:wfs=\"http: + "resultType=\"results\" service=\"WFS\" version=\"1.1.0\"><wfs:Query srsName=\"EPSG:4326\" " + "typeName=\"twitter_all\"><Filter xmlns=\"http: + " combinator=\"true\"><And><And><PropertyIsGreaterThanOrEqualTo><PropertyName>validTime</PropertyName>" + "<Sub><Function name=\"GET_CURRENT_DATE_TIME\"/><Literal>PT10M</Literal></Sub></PropertyIsGreaterThanOrEqualTo>" + "</And><Or><And><BBOX areanamehint=\"temp area 1\"><PropertyName>GEOM</PropertyName><gml:Envelope srsName=\"CRS:84\">" + "<gml:lowerCorner>-121.82080507278442 30.111331343650818</gml:lowerCorner><gml:upperCorner>-73.30518007278442 51.20508134365082</gml:upperCorner>" + "</gml:Envelope></BBOX></And></Or></And></Filter></wfs:Query></wfs:GetFeature>"; List<AbstractMapGeometrySupport> geoms = FilterReader.parse(xmlText); assertEquals(1, geoms.size()); DefaultMapPolygonGeometrySupport bbox = (DefaultMapPolygonGeometrySupport)geoms.get(0); assertEquals(4, bbox.getLocations().size()); assertEquals(LatLonAlt.createFromDegrees(30.111331343650818, -121.82080507278442), bbox.getLocations().get(0)); assertEquals(LatLonAlt.createFromDegrees(30.111331343650818, -73.30518007278442), bbox.getLocations().get(1)); assertEquals(LatLonAlt.createFromDegrees(51.20508134365082, -73.30518007278442), bbox.getLocations().get(2)); assertEquals(LatLonAlt.createFromDegrees(51.20508134365082, -121.82080507278442), bbox.getLocations().get(3)); }