@Override
    public void processingInstruction(final String target,
                                      final String data) throws SAXException {
        // Ensure we have started a document - this avoids some unexpected behaviour in XMLParser where we
        // receive processing instruction events before a startDocument() event, see gh-225.
        startDocument();

        handler.processingInstruction(target, data);
        super.processingInstruction(target, data);
    }
@param target the processing instruction target
@param data   the processing instruction data, or null if none was supplied.
              The data does not include any whitespace separating it from
              the target
@throws SAXException any SAX exception, possibly wrapping another exception
@see AbstractXMLFilter#processingInstruction(String,
String)
stroom-pipeline/src/main/java/stroom/pipeline/writer/XMLWriter.java