@Override public void endRecord() { if (!recordOpen) { return; } try { if (listener != null) { listener.endRecord(); } if (contentHandler != null) { contentHandler.endElement(nsUri, RECORD, RECORD); } if (listener != null) { // emit trailer event, drives record output segmentation listener.trailer(null); } this.recordOpen = false; } catch (Exception ex) { if (fatalerrors) { throw new RuntimeException(ex); } else if (!silenterrors) { logger.warn(designator + ": " + ex.getMessage(), ex); } } }