@Override public AuditLogsForInvoices getAuditLogsForInvoices( final List<Invoice> invoices, final AuditLevel auditLevel, final TenantContext context) { final Map<UUID, List<AuditLog>> invoiceAuditLogs = new HashMap<UUID, List<AuditLog>>(); final Map<UUID, List<AuditLog>> invoiceItemsAuditLogs = new HashMap<UUID, List<AuditLog>>(); for (final Invoice invoice : invoices) { invoiceAuditLogs.put( invoice.getId(), getAuditLogs(invoice.getId(), ObjectType.INVOICE, auditLevel, context)); for (final InvoiceItem invoiceItem : invoice.getInvoiceItems()) { invoiceItemsAuditLogs.put( invoiceItem.getId(), getAuditLogs(invoiceItem.getId(), ObjectType.INVOICE_ITEM, auditLevel, context)); } } return new DefaultAuditLogsForInvoices(invoiceAuditLogs, invoiceItemsAuditLogs); }