public static void checkArgument(boolean expression, @Nullable String errorMessageTemplate,
	                                 @Nullable Object... errorMessageArgs) {
		if (!expression) {
			throw new IllegalArgumentException(format(errorMessageTemplate, errorMessageArgs));
		}
	}
Ensures the truth of an expression involving one or more parameters to the calling method.

@param expression           a boolean expression
@param errorMessageTemplate a template for the exception message should the check fail. The message is formed by
                            replacing each
                            {@code %s} placeholder in the template with an argument. These are matched by position
                            -
                            the first
                            {@code %s} gets {@code errorMessageArgs[0]}, etc. Unmatched arguments will be appended
                            to the
                            formatted message in square braces. Unmatched placeholders will be left as-is.
@param errorMessageArgs     the arguments to be substituted into the message template. Arguments are converted to
                            strings using
                            {@link String#valueOf(Object)}.
ngrinder-core/src/main/java/org/ngrinder/common/util/Preconditions.java