### Question:
FilterHandler extends BetterDefaultHandler { @Override public void startElement(String uri, String localName, String qName, Attributes attributes) { super.startElement(uri, localName, qName, attributes); if (GeometryHandlerFactory.GML_POLYGON_TAG.equals(localName)) { myCurrentGeometryHandler = GeometryHandlerFactory.getGeometryHandler(localName, false); } else if (EnvelopeHandler.ENVELOPE_TAG.equals(localName)) { myCurrentGeometryHandler = new EnvelopeHandler(); } if (myCurrentGeometryHandler != null) { myCurrentGeometryHandler.handleOpeningTag(localName); } }  @Override void startElement(String uri, String localName, String qName, Attributes attributes); @Override void endElement(String uri, String localName, String qName); List<AbstractMapGeometrySupport> getGeometries();  }### Answer:
@Test public void testStartElement() throws IllegalArgumentException, IllegalAccessException { myTestObject.startElement(myUri, myLocalName, myQName, myAttributes); assertEquals(1, myTestObject.getElementStack().size()); SaxElement element = myTestObject.getElementStack().getFirst(); assertEquals(myUri, element.getUri()); assertEquals(myLocalName, element.getLocalName()); assertEquals(myQName, element.getQName()); Map<String, String> attributes = element.getAttributes(); assertEquals(2, attributes.size()); assertEquals(attributes.get("zero"), "zero-value"); assertEquals(attributes.get("one"), "one-value"); assertEquals("", myTestObject.getCurrentValue()); AbstractGmlGeometryHandler currentFilterHandler = (AbstractGmlGeometryHandler)ourCurrentGeometryHandlerField .get(myTestObject); assertNotNull(currentFilterHandler); assertEquals(myLocalName, currentFilterHandler.getTagName()); }