class CheckpointFailureActionSectionStrategy implements ISectionStrategy {

    @Override
    public void onLoadConfig(final IObject config) throws ConfigurationProcessingException {
        try {
            IObject section = (IObject) config.getValue(sectionName);
            Object actionKeyName = section.getValue(actionNameFieldName);

            if (null == actionKeyName) {
                actionKeyName = "default configurable checkpoint failure action";
            }

            IAction<IObject> action = IOC.resolve(IOC.resolve(IOC.getKeyForKeyStorage(), actionKeyName), section);

            IOC.register(Keys.getOrAdd("checkpoint failure action"),
                    new SingletonStrategy(action));
        } catch (ReadValueException | InvalidArgumentException | ResolutionException | RegistrationException e) {
            throw new ConfigurationProcessingException("Error occurred processing checkpoint_failure_action section.", e);
        }
    }

    public  CheckpointFailureActionSectionStrategy();

}