class DefaultNodeConditionController implements NodeConditionController {

    @VisibleForTesting
    Mono<Void> handleNodesWithBadCondition(ExecutionContext executionContext) {
        int iterationCount = executionContext.getExecutionId().getTotal();
        logger.debug("Starting node condition controller iteration {} ...", iterationCount);
        if (hasStaleData()) {
            logger.info("Stale data. Skipping the node condition control loop iteration- {} ", iterationCount);
            return Mono.empty();
        }
        return handleNodesWithBadCondition();
    }

    public  DefaultNodeConditionController(RelocationConfiguration relocationConfiguration,
                                          NodeDataResolver nodeDataResolver,
                                          JobDataReplicator jobDataReplicator,
                                          ReadOnlyJobOperations jobOperations,
                                          JobManagementClient jobManagementClient,
                                          TitusRuntime titusRuntime);

}