class ConfigCheckerDelegate implements JavaDelegate {

    @Override
    public void execute(DelegateExecution delegateExecution) throws Exception {

        logger.debug("Running execute block for activity id:{}, name:{}", delegateExecution.getCurrentActivityId(),
                delegateExecution.getCurrentActivityName());

        if (delegateExecution.hasVariable(SERVICE_MODEL_INFO)) {
            String serviceModelInfo = (String) delegateExecution.getVariable(SERVICE_MODEL_INFO);
            String serviceModelUuid = JsonUtils.getJsonValue(serviceModelInfo, MODEL_UUID);
            delegateExecution.setVariable(MODEL_UUID, serviceModelUuid);
            List<PnfResourceCustomization> pnfCustomizations =
                    catalogDbClient.getPnfResourceCustomizationByModelUuid(serviceModelUuid);
            if (pnfCustomizations != null && !pnfCustomizations.isEmpty()) {
                PnfResourceCustomization pnfResourceCustomization = pnfCustomizations.get(0);
                boolean skipPostInstantiationConfiguration = pnfResourceCustomization.isSkipPostInstConf();
                delegateExecution.setVariable(SKIP_POST_INSTANTIATION_CONFIGURATION,
                        skipPostInstantiationConfiguration);
                delegateExecution.setVariable(PRC_BLUEPRINT_NAME, pnfResourceCustomization.getBlueprintName());
                delegateExecution.setVariable(PRC_BLUEPRINT_VERSION, pnfResourceCustomization.getBlueprintVersion());
                delegateExecution.setVariable(PRC_CUSTOMIZATION_UUID,
                        pnfResourceCustomization.getModelCustomizationUUID());
                delegateExecution.setVariable(PRC_INSTANCE_NAME, pnfResourceCustomization.getModelInstanceName());
                delegateExecution.setVariable(PRC_CONTROLLER_ACTOR, pnfResourceCustomization.getControllerActor());
            } else {
                logger.warn("Unable to find the PNF resource customizations of model service UUID: {}",
                        serviceModelUuid);
                exceptionUtil.buildAndThrowWorkflowException(delegateExecution, ERROR_CODE,
                        "Unable to find the PNF resource customizations of model service UUID:  " + serviceModelUuid);
            }
        } else {
            logger.warn("Unable to find the parameter: {} in the execution context", SERVICE_MODEL_INFO);
            exceptionUtil.buildAndThrowWorkflowException(delegateExecution, ERROR_CODE,
                    "Unable to find parameter " + SERVICE_MODEL_INFO);
        }
    }

}