@Override
    public void startProcessing() {
        try {
            if (errorHandler == null) {
                errorHandler = new ErrorHandlerAdaptor(getElementId(), locationFactory, errorReceiverProxy) {
                    @Override
                    protected void log(final Severity severity, final SAXParseException exception) {
                        String message = exception.getMessage();

                        if (message.contains("cvc-")) {
                            message = CVC_PATTERN.matcher(message).replaceAll("");
                        }
                        if (message.contains("One of")) {
                            message = NS_REDUCTION_PATTERN.matcher(message).replaceAll("");
                        }
                        message = message.trim();

                        final SAXParseException ex = new SAXParseException(message, exception.getPublicId(),
                                exception.getSystemId(), exception.getLineNumber(), exception.getColumnNumber());

                        super.log(severity, ex);
                    }
                };
            }

            schemaLocations = null;
            prefixes.clear();
            validator = null;
        } finally {
            super.startProcessing();
        }
    }
@see stroom.pipeline.filter.AbstractXMLFilter#startProcessing()
stroom-pipeline/src/main/java/stroom/pipeline/filter/SchemaFilter.java