@Override
    public void startStream() {
        for (int i = 0; i < filters.length; i++) {
            try {
                final XMLFilter filter = filters[i];
                filter.startStream();
            } catch (final RuntimeException e1) {
                LOGGER.trace("Unable to start stream!", e1);

                // Make sure the rest of the filters get the event.
                for (i = i + 1; i < filters.length; i++) {
                    final XMLFilter f = filters[i];
                    try {
                        f.startStream();
                    } catch (final RuntimeException e2) {
                        LOGGER.trace("Unable to start stream!", e2);
                    }
                }

                throw ProcessException.wrap(e1);
            }
        }
    }
This method tells filters that a stream is about to be parsed so that
they can complete any setup necessary.

@throws SAXException Could be thrown by an implementing class.
stroom-pipeline/src/main/java/stroom/pipeline/filter/XMLFilterFork.java