class AsyncCaseInstanceAuditEventProducer implements CaseEventListener, Cacheable {

    @Override
    public void afterCaseDataRemoved(CaseDataEvent event) {
        List<CaseFileData> logs = event.getData().keySet()
                .stream()
                .map(name -> new CaseFileDataLog(event.getCaseId(), event.getDefinitionId(), name))
                .collect(Collectors.toList());
        
        if (logs != null && !logs.isEmpty()) {
            sendMessage(AFTER_CASE_DATA_REMOVED_EVENT_TYPE, new AuditCaseInstanceData(event.getCaseId(), logs, null), 4);
        }
    }

    public  AsyncCaseInstanceAuditEventProducer();

}