@Override public void processRecords(List<Record> records, IRecordProcessorCheckpointer checkpointer) { try { if (!protocol.processRecords(records, checkpointer)) { throw new RuntimeException("Child process failed to process records"); } } catch (Throwable t) { stopProcessing("Encountered an error while trying to process records", t); } }