synchronized Future<Void> report(ProcessingContext<T> context) {
        if (reporters.size() == 1) {
            return new WorkerErrantRecordReporter.ErrantRecordFuture(Collections.singletonList(reporters.iterator().next().report(context)));
        }
        List<Future<RecordMetadata>> futures = reporters.stream()
                .map(r -> r.report(context))
                .filter(f -> !f.isDone())
                .collect(Collectors.toList());
        if (futures.isEmpty()) {
            return CompletableFuture.completedFuture(null);
        }
        return new WorkerErrantRecordReporter.ErrantRecordFuture(futures);
    }
Report an error to all configured {@link ErrorReporter} instances.
@param context The context containing details of the error to report
@return A future which resolves when this failure has been persisted by all {@link ErrorReporter} instances
connect/runtime/src/main/java/org/apache/kafka/connect/runtime/errors/RetryWithToleranceOperator.java