class ApiRequestDataBuildUpdater implements AuditEventBuilderUpdater<ApiRequestData> {

    @Override
    public void update(AuditProto.AuditEvent.Builder auditEventBuilder, ApiRequestData eventData) {
        AuditProto.ApiRequestData.Builder apiRequestDataBuilder = builderProvider.getNewApiRequestDataBuilder()
                .setMutating(eventData.isMutating());
        doIfTrue(eventData.getApiVersion(), StringUtils::isNotEmpty, apiRequestDataBuilder::setApiVersion);
        doIfTrue(eventData.getRequestParameters(), StringUtils::isNotEmpty, apiRequestDataBuilder::setRequestParameters);
        doIfTrue(eventData.getUserAgent(), StringUtils::isNotEmpty, apiRequestDataBuilder::setUserAgent);
        auditEventBuilder.setApiRequestData(apiRequestDataBuilder.build());
    }

    public  ApiRequestDataBuildUpdater(ApiRequestDataBuilderProvider builderProvider);

}