class AuditPreparePlugin extends ActionHandler {

    @Override
    public ItemStatus execute(WorkerParameters param, HandlerIO handler) {

        try (MetaDataClient metaDataClient = metaDataClientFactory.getClient()) {

            SelectMultiQuery query = generateAuditQuery(handler);
            computePreparation(query, handler, metaDataClient);
            return buildItemStatus(AUDIT_PREPARATION, StatusCode.OK, createObjectNode());
            
        } catch (InvalidParseOperationException | IOException | ProcessingException e) {
            LOGGER.error(String.format("Audit action failed with status [%s]", FATAL), e);
            ObjectNode error = createObjectNode().put("error", e.getMessage());
            return buildItemStatus(AUDIT_PREPARATION, FATAL, error);
        }
    }

    public  AuditPreparePlugin();
    @VisibleForTesting  AuditPreparePlugin(MetaDataClientFactory metaDataClientFactory);

}