public static InvalidOptionConfigurationException constraintFailure(String optionName, String expectedType,
                                                                        String actualValue, String constraintFailureMessage) {
        String msg = "Option '" + optionName + "' of type " + expectedType + " failed a validation check: "
            + constraintFailureMessage;
        return new InvalidOptionConfigurationException(msg, null)
            .setOptionName(optionName)
            .setExpectedType(expectedType)
            .setActualValue(actualValue)
            .setConstraintFailureMessage(constraintFailureMessage);
    }
Indicate a constraint failure.

@param optionName               option name/key being parsed.
@param expectedType             the anticipated type (e.g. boolean).
@param actualValue              the actual found.
@param constraintFailureMessage a human-readable message to display in the case of a constraint failure
                                (e.g. port should be greater than 0).
common/config/src/main/java/io/apiman/common/config/options/exceptions/InvalidOptionConfigurationException.java