void publishEvents(@NotNull Set<Event> events, @NotNull Resource resource) { this.reportLock.readLock().lock(); try { for (Event event : events) { EventSource eventSource = createEventSource(event, resource); this.activeReport.addEvent(event, eventSource); } } catch (Throwable t) { log.error("Failed to add Events for " + resource + " to Event report: " + events, t); } finally { this.reportLock.readLock().unlock(); } }