class ReclassificationPreparationCheckGraphHandler extends ActionHandler {

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

        try {

            // Load / parse & validate request
            ReclassificationOrders reclassificationOrders = loadReclassificationOrders(handler);

            // Check graph (check unit types & graph cycles)
            checkGraphCoherence(reclassificationOrders);

        } catch (ProcessingStatusException e) {
            LOGGER.error("Reclassification graph check failed with status [" + e.getStatusCode() + "]", e);
            return buildItemStatus(RECLASSIFICATION_PREPARATION_CHECK_GRAPH, e.getStatusCode(), e.getEventDetails());
        }

        LOGGER.info("Reclassification graph check succeeded");

        return buildItemStatus(RECLASSIFICATION_PREPARATION_CHECK_GRAPH, StatusCode.OK, null);
    }

    public  ReclassificationPreparationCheckGraphHandler();
    @VisibleForTesting  ReclassificationPreparationCheckGraphHandler(
        MetaDataClientFactory metaDataClientFactory, UnitGraphInfoLoader unitGraphInfoLoader,
        int maxGuildListSizeInLogbookOperation);

}