void (@NotNull final XmlDocument doc, final Validator.ValidationHost host, final XmlFile descriptorFile) { try { final Schema schema = RngParser.getCachedSchema(descriptorFile); if (schema == null) { // did not manage to get a compiled schema. no validation... return; } final ErrorHandler eh = MyErrorHandler.create(doc, host); if (eh == null) { return; } final PropertyMapBuilder builder = new PropertyMapBuilder(); builder.put(ValidateProperty.ERROR_HANDLER, eh); final ContentHandler handler = schema.createValidator(builder.toPropertyMap()).getContentHandler(); doc.accept(new Psi2SaxAdapter(handler)); } catch (ProcessCanceledException e) { throw e; } catch (RuntimeException e) { LOG.error(e); } catch (Exception e) { LOG.info(e); } }