code: protected void setAuditMessageElements(EventIdentificationType eventId, ActiveParticipantType[] participants,
                                             AuditSourceIdentificationType[] sourceIds, ParticipantObjectIdentificationType[] objectIds) {
          AuditMessage auditMessage = getAuditMessage();
          auditMessage.setEventIdentification(eventId);
  
          // Reset active participants
          auditMessage.getActiveParticipant().clear();
          if (!EventUtils.isEmptyOrNull(participants, true)) {
              auditMessage.getActiveParticipant().addAll(Arrays.asList(participants));
          }
  
          // reset audit source ids
          auditMessage.getAuditSourceIdentification().clear();
          if (!EventUtils.isEmptyOrNull(sourceIds, true)) {
              auditMessage.getAuditSourceIdentification().addAll(Arrays.asList(sourceIds));
          }
  
          // Reset participant object ids
          auditMessage.getParticipantObjectIdentification().clear();
          if (!EventUtils.isEmptyOrNull(objectIds, true)) {
              auditMessage.getParticipantObjectIdentification().addAll(Arrays.asList(objectIds));
          }
      }
docs: Clear and set the individual elements of the audit message payload
  in line with RFC 3881
  
  @param eventId The EventIdentification block
  @param participants The ActiveParticipant blocks
  @param sourceIds The AuditSourceIdentification blocks
  @param objectIds The ParticipantObjectIdentification blocks