@Override
    public void startElement(final String uri, final String localName, final String qName, final Attributes atts)
            throws SAXException {
        if (buffer) {
            events.add(new StartElement(uri, localName, qName, atts));
        } else {
            super.startElement(uri, localName, qName, atts);
        }
    }
Buffers a startElement event if buffer is set to true.

@param uri       The element's Namespace URI, or the empty string.
@param localName The element's local name, or the empty string.
@param qName     The element's qualified (prefixed) name, or the empty string.
@param atts      The element's attributes.
@throws SAXException Not thrown.
@see stroom.pipeline.filter.AbstractXMLFilter#startElement(java.lang.String,
java.lang.String, java.lang.String, org.xml.sax.Attributes)
stroom-pipeline/src/test/java/stroom/pipeline/util/BufferFilter.java